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

时间:2019-08-24 18:01:44

标签: php flutter dart

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

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

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

但这两种方法都提供了一个值,此API在其标头中不希望有此值,这里是:https://api.kitewalk.com/#authentication

1 个答案:

答案 0 :(得分:2)

PHP的gmmktime返回“ Unix time”,这是自“ Unix纪元”以来的秒数

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

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

正确的版本应该是:

var unixTime = DateTime.now().millisecondsSinceEpoch ~/ 1000;
相关问题