加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – UTC时间刻度(自01/01/0001 00:00:00起)

发布时间:2020-12-13 16:20:20 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试与第三方服务集成,该服务想知道已经过了多少“UTC时间(自01/01/0001 00:00:00开始)”. 什么是勾? 假设它是第二个(我不知道它是)…我应该怎么做自01/01/0001 00:00:00以来?这比32位整数大.不确定它是否大于64位整数但PHP的date()函数返回32位整数
我正在尝试与第三方服务集成,该服务想知道已经过了多少“UTC时间(自01/01/0001 00:00:00开始)”.

什么是勾?

假设它是第二个(我不知道它是)…我应该怎么做自01/01/0001 00:00:00以来?这比32位整数大.不确定它是否大于64位整数但PHP的date()函数返回32位整数 – 而不是64位整数.

如果我知道在01/01/0001 00:00:00和UNIX纪元之间经过了多少秒,我可以使用bcmath或gmp将该量(作为常量)添加到time()(再次假设滴答是秒)但是我不知道那个号码会是什么.

有任何想法吗?

解决方法

我希望用.NET编写的服务作为.NET框架知道DateTime.Ticks. documentation说了一个勾号:

A single tick represents one hundred nanoseconds or one ten-millionth of a second. There are 10,000 ticks in a millisecond.

The value of this property represents the number of 100-nanosecond intervals that have elapsed since 12:00:00 midnight,January 1,0001,which represents DateTime.MinValue. It does not include the number of ticks that are attributable to leap seconds.

因此,从01/01/0001 00:00:00到10.000.000,您将需要多秒.

我找到了价值:

621,355,968,000,000

对于07.01中01-01-0001T00:00:00到01-01-1970的刻度.我不知道它是如何计算的.我假设.NET框架将输出它.我建议验证该值并在PHP中将其声明为常量,如您所述.

PHP的int类型是有符号整数.它的大小取决于您使用的系统.如果它是64位系统,则值范围应足够大以达到此目的.如果没有,您可以使用GMP extension或BC Math扩展名来处理大数字.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读