flatter-DateTime.now()与我的本地时间不一样

flatter-DateTime.now()与我的本地时间不一样,datetime,time,dart,flutter,Datetime,Time,Dart,Flutter,我有个案子要查一下商店关门的时间。 Im使用以下代码解决此问题: final _openHours = 09; final _openMinute = 00; final _closeHours = 15; final _closeMinute = 00; var now = DateTime.now(); print(now); var _open = new DateTime(now.year, now.month, now.day, _openHours, _openMinute, n

我有个案子要查一下商店关门的时间。 Im使用以下代码解决此问题:

final _openHours = 09;
final _openMinute = 00;
final _closeHours = 15;
final _closeMinute = 00;

var now = DateTime.now();
print(now);

var _open = new DateTime(now.year, now.month, now.day, _openHours, _openMinute, now.second);
var _close = new DateTime(now.year, now.month, now.day, _closeHours, _closeMinute, now.second);

now.isAfter(_open) && now.isBefore(_close) {
  print("online");  
} else {
  print("offline");
}
但是当我打印
DateTime.now()
时,这个时间与当前时间不匹配?
我尝试过使用手动输入当前时间来确保代码检查开门和关门时间及其工作情况。

好吧,这浪费了我很多时间,我回答它是为了帮助可能遇到相同问题的人。 修改仿真器设置后,工作正常。
DateTime。现在
应该返回一个锚定在主机本地时区的即时时间。它在服务器上运行吗?@jspcal是的,我想是的,没有。。就在本地。不同的是你在模拟器中运行几个小时?模拟器中的设备是否设置为不同的时区?打印(DateTime.now().timeZoneName)看起来正确吗?嗯,我忘了设置模拟器日期设置