我做了一个简单的函数来将纪元时间转换成某种格式
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 值。
如何确保时间转换是根据我的时区完成的?
谢谢
最佳答案
传递isUtc: true
(默认为false
)
final DateTime timeStamp = DateTime.fromMillisecondsSinceEpoch(epoch * 1000, isUtc: true);
关于dart - 转换的纪元时间比模拟器提前 5 小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54299431/