我目前有一个用户的个人资料页面,其中显示了他们的出生日期和其他详细信息。但是我打算通过计算今天的日期和从用户那里获得的出生日期之间的差异来找到他们生日的前几天。
用户的出生日期
这是使用 intl package 获得的今天日期.
今天的日期
I/flutter ( 5557): 09-10-2018
我现在面临的问题是,如何计算这两个日期的天数差?
是否有任何特定的公式或软件包可供我查看?
最佳答案
可以使用DateTime
类提供的difference
方法
//the birthday's date
final birthday = DateTime(1967, 10, 12);
final date2 = DateTime.now();
final difference = date2.difference(birthday).inDays;
更新
由于许多人报告此解决方案存在错误并且为避免更多错误,我将在此处添加@MarcG 提出的正确解决方案,所有功劳归于他。
int daysBetween(DateTime from, DateTime to) {
from = DateTime(from.year, from.month, from.day);
to = DateTime(to.year, to.month, to.day);
return (to.difference(from).inHours / 24).round();
}
//the birthday's date
final birthday = DateTime(1967, 10, 12);
final date2 = DateTime.now();
final difference = daysBetween(birthday, date2);
这是带有完整解释的原始答案:https://stackoverflow.com/a/67679455/666221
关于Flutter:查找两个日期之间的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52713115/