将表示毫秒的字符串转换为Date

Tra*_*ffy 2 javascript jquery datetime

我正在尝试转换一个字符串,它表示一个毫秒格式的日期,如下所示:

var start = new Date(s);
Run Code Online (Sandbox Code Playgroud)

但是,似乎它不起作用,因为当我试图显示日期时,我有"无效日期"作为错误消息.

我想得到的是这种格式的日期:

Wed May 07 2014 09:00:00
Run Code Online (Sandbox Code Playgroud)

这可能吗?

编辑:s变量的原始值是由13个数字组成的字符串(例如:13982762900000)

net*_*ger 5

将其转换为数字类型而不是字符串:

var date = new Date(parseInt(s, 10))
Run Code Online (Sandbox Code Playgroud)

说明:

new Date()构造函数的输入是一个字符串.这意味着new Date()假定输入是"ISO8601字符串"而不是"表示毫秒数的整数值",如下所述.

根据https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date,如果该值应被解释为"表示自1970年1月1日以来的毫秒数,则它应该是一个整数00 00 :00:00 UTC(Unix Epoch)."

new Date()
Run Code Online (Sandbox Code Playgroud)

有以下构造函数(根据上面的链接):

new Date();
new Date(value);
new Date(dateString);
new Date(year, month, day, hour, minute, second, millisecond);
Run Code Online (Sandbox Code Playgroud)

value (这是将其转换为整数值时使用的构造函数)

整数值,表示自1970年1月1日00:00:00 UTC(Unix Epoch)以来的毫秒数.

dateString (这是之前调用的构造函数)

表示日期的字符串值.该字符串应采用Date.parse()方法识别的格式(符合IETF的RFC 2822时间戳和ISO8601的版本).