在Dart中获取特定日期的开始时间

时间:2019-09-30 09:06:42

标签: date datetime flutter time dart

嗨,我正在尝试将开始时间设为当前日期,作为我的fromTime时间

DateTime toTime= new DateTime.now();
DateTime fromTime= toTime.subtract(new Duration(days: 1));

以上,我从fromTime值获得当前时间-24小时, 但我希望fromTime为当前日期上午12点

输出我得到的是

2019-09-30 14:25:36.105 //toTime
2019-09-29 14:25:36.105 //fromTime

预期输出:

2019-09-30 14:25:36
2019-09-30 00:00:00

帮我解决这个问题,谢谢。

2 个答案:

答案 0 :(得分:1)

您的意思是这样的吗?

  DateTime toTime= new DateTime.now();
  DateTime fromTime= new DateTime(toTime.year, toTime.month, toTime.day);
  print(toTime);
  print(fromTime);

输出:

2019-09-30 17:15:20.294
2019-09-30 00:00:00.000

答案 1 :(得分:0)

尝试使用此软件包,Jiffy更加简单,并且受到momentjs的启发。看来您正在尝试获取toTime的开始日期并将其设置为fromTime。执行以下操作

var toTime = Jiffy().dateTime; // This returns DateTime.now();
// or
var toTime = DateTime.now();

var fromTime = Jiffy(toTime).startOf("day"); // This will return the start of day

print(toTime); // 2019-09-30 14:25:36.105
print(fromTime); // 2019-09-30 00:00:00.000