将日期转换为长格式,它如何工作?

agp*_*gpt 3 javascript

我试图像在Java中那样将日期对象转换为长格式(可能是毫秒格式)。
因此,为了满足我的需要,经过反复尝试,我发现以下对我有用的方法:

var date = new Date();  
var longFormat = date*1;  // dont know what it does internally
console.log(longFormat); // output was 1380625095292  
Run Code Online (Sandbox Code Playgroud)

为了验证,我使用反转了它new Date(longFormat);,它给了我正确的输出。简而言之,我能够满足我的需要,但是我仍然空白内部进行了什么乘法运算?当我尝试将当前日期与数字2相乘时,它给了我2057年的某个日期!有谁知道,到底发生了什么事?

Par*_*osh 5

当你乘法时你得到的是蜱虫

访问:如何将 JavaScript 日期对象转换为刻度

另外,当你* 2这样做时,你会得到双倍的刻度值,所以日期是未来的

var date = new Date()
var ticks = date.getTime()
Run Code Online (Sandbox Code Playgroud)

参考:Javascript 日期刻度

getTime返回自 1970 年 1 月 1 日以来的毫秒数。因此* 1,当您执行此操作时,您可能已经获得了该毫秒的值。当你* 2这样做时,这些毫秒会加倍,你会得到 2057 年的日期!


Art*_*oev 5

长格式显示1970年1月1日之后的刻度数,因此目前大约为43年。

*我想,运算符将参数强制转换为数字,Date对象可能具有getTime()

您将毫秒数加倍-您又得到了43年,因此也就是2057年左右。