如何从DART当前时间获取最近3个小时的时间
我现在正在通过这个时间
DateTime toTime = new DateTime.now();
我想从当前时间开始获取过去30分钟,lastOneHour,lastThreeHour,last 6,last 12,last 24时间。
我试图这样做
from = toTime.subtract(new Duration(hours: 0.5)).millisecondsSinceEpoch;
//This is not working
我正在将这些结果转换为epochtime。
答案 0 :(得分:0)
正如@ julemand101指出的那样,Duration具有一个名为hours
的参数作为int。通过双打会抛出一个错误。相反,请编写如下代码:
DateTime curTime = new DateTime.now(); //Current local time
DateTime thirtyMinAgo = curTime.subtract(Duration(minutes: 30));
int thirtyMinAgoInMs = thirtyMinAgo.millisecondsSinceEpoch;
return thirtyMinAgoInMs;
答案 1 :(得分:0)
尝试使用此软件包Jiffy。受momentjs的启发。它还考虑了years年和每个月有多少天
获得最后30分钟
Jiffy().subtract(minutes: 30);
// You can also add your DateTime object
Jiffy(DateTime.now()).subtract(minutes: 30);
获得最后3个小时
Jiffy().subtract(hours: 3);
您还可以长达几个月甚至几年
var jiffy = Jiffy()
..subtract(minutes: 30, hours: 3, days: 6, months: 2, years: 1);
print(jiffy.dateTime);
// Or you can format it on the go
print(jiffy.format("dd, MMM yyyy"));
print(jiffy.yMMMd);
希望这会有所帮助。
免责声明:我创建了Jiffy软件包。