转换的纪元时间比模拟器提前了5个小时

时间:2019-01-21 23:56:43

标签: dart flutter

我做了一个简单的功能,可以将纪元时间转换为某种格式

String convertEpochToHuman(int epoch) {
  final DateTime timeStamp = DateTime.fromMillisecondsSinceEpoch(epoch * 1000);
  var format = new DateFormat('HH:mm, yyyy-MM-DD');
  return format.format(timeStamp);
}

转到here,我得到了“当前Unix纪元时间是”值,并将其放入我的代码中。在模拟器上运行它时,我得到了正确的日期,但时间提前了5个小时(我在加拿大东海岸时区)。因此,即使模拟器是东部时间,结果也是GMT值。

如何确保根据我的时区完成时间转换?

谢谢

1 个答案:

答案 0 :(得分:0)

通过isUtc: true(默认为false

final DateTime timeStamp = DateTime.fromMillisecondsSinceEpoch(epoch * 1000, isUtc: true);