在 PHP5 和 Actionscript3 中获取以毫秒为单位的 unix 时间戳

2022-08-30 15:37:11

在 Actionscript 中,以毫秒为单位的 Unix 时间戳可以像这样获得:

public static function getTimeStamp():uint
        {
            var now:Date = new Date();
            return now.getTime();
        }

该文档清楚地说明了以下内容:

getTime():数字 返回 Date 对象自 1970 年 1 月 1 日午夜(通用时间)以来的毫秒数。

当我跟踪它时,它返回以下内容:

824655597

因此,824655597 / 1000 / 60 / 60 / 24 / 365 = 0.02年。这显然是不正确的,因为它应该在39年左右。

问题#1:这里出了什么问题?

现在,进入PHP部分:我也试图以毫秒为单位获取时间戳。该函数返回字符串 (0.29207800 1246365903) 或浮点数 (1246365134.01),具体取决于给定的参数。因为我认为时间戳很容易,所以我打算自己做。但是现在我已经尝试并注意到了这个浮点,并将其与我在Actionscript中的问题相结合,我真的没有线索。microtime()

问题#2:我应该如何让它返回Unix时间戳中的毫秒数?

时间戳应该很容易,我可能错过了一些东西。很抱歉。提前致谢。

编辑1:自己回答了第一个问题。见下文。
编辑2:我自己也回答了第二个问题。见下文。无法在 48 小时内接受答复。


答案 1

我使用无符号整数作为函数的返回类型。这应该是数字。

public static function getTimeStamp():Number
        {
            var now:Date = new Date();
            return now.getTime();
        }

想想我现在得到了在PHP5中获取毫秒的函数。

function msTimeStamp() {
    return round(microtime(1) * 1000);
}

答案 2

对于 actionscript3,应该可以工作。new Date().getTime()


在 PHP 中,您只需调用 time() 即可获取自 1970 年 1 月 1 日 00:00:00 GMT 以来经过的时间(以秒为单位)。如果你想要毫秒,只需做.(time()*1000)

如果使用microtime()将第二部分乘以1000以获得毫秒。将第一部分乘以 1000,得到毫秒并将其四舍五入。然后将这两个数字相加。瞧。


推荐