Date 飞镖的日期差异

Date 飞镖的日期差异,date,dart,flutter,Date,Dart,Flutter,玩飞镖游戏,使用飞镖-我试图确定两次约会之间的秒数 但是由于某种原因,date1.difference(date2.insteonds给出的结果对我来说毫无意义。也许已经很晚了,我太累了,不能错过这里的一些东西: 这是我的代码:(即打印日期语句及其假定的秒差): 打印(myDate);//日期时间类型 打印(queryDate);//日期时间类型 打印(myDate.difference(queryDate.Unseconds); 打印结果显示: 2019-02-01 00:18:00.000

玩飞镖游戏,使用飞镖-我试图确定两次约会之间的秒数

但是由于某种原因,
date1.difference(date2.insteonds
给出的结果对我来说毫无意义。也许已经很晚了,我太累了,不能错过这里的一些东西:

这是我的代码:(即打印日期语句及其假定的秒差):

打印(myDate);//日期时间类型
打印(queryDate);//日期时间类型
打印(myDate.difference(queryDate.Unseconds);
打印结果显示:

2019-02-01 00:18:00.000Z//myDate
2019-02-01 01:17:18.859431//queryDate
41//应该是以秒为单位的差异。。。
但它不应该超过41秒吗

原因可能是x.000Z与.859431格式的差异吗?如果是,为什么

为什么
差异
方法忽略分钟和小时?

我找到了一个解决方案:

原来,
queryDate
是另一种格式(不确定.859431是什么意思-也许有人可以解释…?)

至少,当我执行以下操作时,它是有效的:

DateTime queryDate2=DateTime.utc(
queryDate.year,
queryDate.month,
queryDate.day,
queryDate.hour,
queryDate.minute,
槲酸盐(第二);
那么我的打印声明是:

打印(myDate);//日期时间类型(UTC)
打印(queryDate);//日期时间类型为.859431格式(??)
打印(查询日期2);//日期时间类型(UTC)
打印(myDate.difference(queryDate2.inHours);
打印(myDate.difference(queryDate2),以分钟为单位);
打印(myDate.difference(queryDate2.Unseconds);
打印结果显示:

2019-02-01 00:18:00.000Z//myDate
2019-02-01 02:01:21.081575//queryDate
2019-02-01 02:01:21.000Z//QueryDate 2
-1//小时差(现在正确!)
-103//以分钟为单位的差异(现在正确!)
-6201//秒差(现在正确!)
是的,更像:)(…现在小时、分钟和秒都是正确的)

也许有另一种方法可以将日期更改为UTC?欢迎提出任何意见。

试试这个软件包。处理好你所有的问题。它遵循图书馆的规定,尊重一个月的天数和闰年的天数,试图获得至少最好的结果