为了账号安全,请及时绑定邮箱和手机立即绑定

与 PHP 的 gmmktime() 等效的 Dart/Flutter 是什么?

与 PHP 的 gmmktime() 等效的 Dart/Flutter 是什么?

PHP
德玛西亚99 2021-12-03 19:21:40
我需要计算 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;


查看完整回答
反对 回复 2021-12-03
  • 1 回答
  • 0 关注
  • 198 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信