dart|Flutter:计算两个日期之间的天数的方法

642 阅读1分钟

在本教程中,我们将看到如何在Flutter编程中获得两个日期之间的若干天。为了计算两个日期之间的天数,我们可以使用DateTime 对象的difference 并调用Duration.inDays 方法

有时,我们需要计算出生日期和当前日期之间的天数。

使用DateTime.now() 创建两个 DateTime 变量,一个是出生日期,另一个是当前日期。DateTime.difference() 方法返回两个 DateTime 的差异,返回 Duration 对象。接下来,调用Duration 对象的inDays ,返回包含若干天的整数。

下面是一个示例代码

void main() {
  var dateOfBirth = DateTime(1980, 01, 10);
  var currentDate = DateTime.now();
  var different = currentDate.difference(dateOfBirth).inDays;
  print(different); //15397
}

唯一的缺点是,它需要本地时间,并返回计数。如果你想要一个精确的计数,输入和考虑UTC日期与DateTime.utc

如何使用Dart中的Jiffy包计算天数?

Jiffy是一个自定义包,类似于javascript中的MomenJS,并受到它的启发。

它为Dart编程中的日期和时间操作提供了许多实用工具。

void main() {
  var dateOfBirth = DateTime(1980, 01, 10);
  var currentDate = DateTime.now();
  var daysCount=Jiffy(currentDate).diff(dateOfBirth, Units.DAY); // 15397
  print(daysCount); //15397
}
  • 两个DateTime对象被创建
  • 使用Jiffy diff方法和Units.DAY测量法。
  • 它返回一个包含天数的整数