繁体   English   中英

Dart / Flutter与PHP的gmmktime()等效吗?

[英]What is the Dart/Flutter equivalent of PHP's gmmktime()?

我需要计算Dart / Flutter中的值,该值由PHP中的gmmktime()函数计算得出。

这是我到目前为止一直在尝试的方法:

var ms = (DateTime.now().toUtc().millisecondsSinceEpoch)/100;
int ms = DateTime.now().toUtc().millisecondsSinceEpoch;

但是,这两种方法都提供了一个值,此API的标头中不包含此值,请参见: https : //api.kitewalk.com/#authentication

PHP的gmmktime被记录为返回“ Unix时间 ”,这是自“ Unix纪元”以来的秒数

您的第一种方法几乎是正确的,但是您没有正确地将毫秒转换为秒。 一秒有1000毫秒,因此您需要除以1000,而不是100。此外,无论您要花费多少时间,都可能需要整数秒数而不是浮点值,因此您需要使用整数除法或事后四舍五入。

另请注意,“ Unix纪元”与时区无关。 DateTime.millisecondsSinceEpoch已经针对固定的时间点进行了测量,因此无需显式转换为UTC(但不会造成伤害)。

正确的版本是:

var unixTime = DateTime.now().millisecondsSinceEpoch ~/ 1000;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM