[英]Find number of months and days between two dates in flutter
我的任务是显示预订游轮的剩余月份和天数。 我已经尝试了一些东西,但它不符合要求。 未来日期是从 API 获取的,需要将其与当前日期进行比较以获得差异。 我已经用我尝试过的代码附加了图像。
从 API 收到的日期时间
2021-10-05T16:30:00Z
尝试过的代码
final date1 = DateTime.now().toUtc();
final DateTime date2 = DateTime.parse(date).toUtc();
final difference = date2.difference(date1).inDays;
final month1 = date1.month.toInt();
final month2 = date2.month.toInt();
final monthDiff = month1 - month2;
final daysDiff = difference - (monthDiff * 30);
print(difference);
print("monthDiff $monthDiff");
print("daysDiff $daysDiff");
return difference.toString();
这就是我所做的。 有一个问题,我将a month
定义为 30 天。
void main(List<String> args) {
final date1 = DateTime.now();
final date2 = DateTime.parse('2021-10-05T16:30:00Z');
final difference = date2.difference(date1);
final monthDiff = (difference.inDays / 30).floor();
final daysDiff = difference.inDays % 30;
print('monthDiff $monthDiff');
print('daysDiff $daysDiff');
print(difference);
}
使用内置函数difference
:
取自官方文档:
var berlinWallFell = DateTime.utc(1989, DateTime.november, 9);
var dDay = DateTime.utc(1944, DateTime.june, 6);
Duration difference = berlinWallFell.difference(dDay);
print(difference.inDays); //here you can use another getter
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.