Flutter 两个日期之间的差异持续时间-Dart

Flutter 两个日期之间的差异持续时间-Dart,flutter,datetime,dart,momentjs,Flutter,Datetime,Dart,Momentjs,我试图找出Dart中各单位的两个日期之间的持续时间差。我正在研究,因为它的灵感来自于moment.js和moment.js,这将通过以下代码片段实现: const dateOne= moment('3/29/2020','M/D/YYYYY'); //29th March 2020 const currentDate = moment(); // get the difference between the moments const diff = currentDate.diff(dateOn

我试图找出Dart中各单位的两个日期之间的持续时间差。我正在研究,因为它的灵感来自于moment.js和moment.js,这将通过以下代码片段实现:

const dateOne= moment('3/29/2020','M/D/YYYYY'); //29th March 2020
const currentDate = moment();
// get the difference between the moments
const diff = currentDate.diff(dateOne);
//express as a duration
const diffDuration = moment.duration(diff);

const diffDuration = {
  months: diffDuration.months(), //6 months
  days: diffDuration.days(), //14 days
  hours: diffDuration.hours(), //21 hours
  minutes: diffDuration.minutes(), //55 minutes
  seconds: diffDuration.seconds(), //44 seconds
}
但是和Jiffy在一起,我只能找到不同,而不是不同的持续时间

var jiffy1 = Jiffy(); //get current time
var jiffy2 = Jiffy("2020-03-29", "yyyy-MM-dd");
var _months = jiffy1.diff(jiffy2, Units.MONTH); //6 
var _days = jiffy1.diff(jiffy2, Units.DAY); //197 days
var _hours = jiffy1.diff(jiffy2, Units.HOUR); //284,99 hours
var _seconds = jiffy1.diff(jiffy2, Units.SECOND );
var _minutes = jiffy1.diff(jiffy2, Units.MINUTE);

在Dart(颤振)中是否有任何方法可以实现该功能?它不必与包一起使用。我确实考虑过DATETIME类,但它似乎也给出了相同的输出,只是用更少的单元可供使用,

< P>谢谢亚历克斯,我已经用包

解决了它。
不要忘记使用
LocalDateTime
而不仅仅是
LocalDate
如果您也想要时差

有很多答案,这里有一个:Datetime类和Duration类是go@GrahamD这肯定会有区别,但我在寻找不同的持续时间?我不确定我的措辞是否恰当。假设我的开始日期是3月1日,结束日期是4月1日。两者之间的差异是32天。但我希望最终输出是1个月1天。好的,我想我明白了。也许这个和这个能帮上忙?@GrahamD谢谢!我会让他们试一试,并在我试一试时更新这个问题along@GrahamD知道答案了!
import 'package:time_machine/time_machine.dart';
LocalDateTime a = LocalDateTime.now();
LocalDateTime b = LocalDateTime.dateTime(DateTime(2020, 3, 29, 0, 0, 0));
Period diff = a.periodSince(b);
var _months = diff.months;
var _days = diff.days;
var _hours = diff.hours;
var _seconds = diff.seconds;
var _minutes = diff.minutes;
print("years: ${diff.years}; months: ${diff.months}; days: ${diff.days}; hours: ${diff.hours}; minutes: ${diff.minutes}; seconds: ${diff.seconds}");