繁体   English   中英

在颤动中查找两个日期之间的月数和天数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM