我需要计算 Dart/Flutter 中的值,如PHP 中的gmmktime() 函数计算的那样。这就是我到现在为止一直在尝试的:var ms = (DateTime.now().toUtc().millisecondsSinceEpoch)/100;
int ms = DateTime.now().toUtc().millisecondsSinceEpoch;但是这两种方法都给出了一个值,这是此 API 在其标头中不期望的值,此处:https : //api.kitewalk.com/#authentication
1 回答
慕村9548890
TA贡献1884条经验 获得超4个赞
PHPgmmktime
被记录为返回“ Unix 时间”,这是自“Unix 纪元”以来的秒数。
您的第一种方法几乎是正确的,但是您没有正确地从毫秒转换为秒。一秒有 1000 毫秒,因此您需要除以 1000,而不是 100。此外,无论您将时间传递给什么,都可能需要整数秒而不是浮点值,因此您需要使用整数除法或四舍五入之后的商。
另请注意,“Unix 纪元”与时区无关;DateTime.millisecondsSinceEpoch
已经针对固定时间点进行了测量,因此不需要显式转换为 UTC(但它不会造成伤害)。
正确的版本是:
var unixTime = DateTime.now().millisecondsSinceEpoch ~/ 1000;
- 1 回答
- 0 关注
- 198 浏览
添加回答
举报
0/150
提交
取消