我正在玩JavaScript日期,我正在寻找有关上次记录的数组的解释。为什么数字1352589000, 1352589395
不同?
代码
var examples = [
"Fri Jan 16 1970 10:43:09 GMT-0500 (EST)",
1352589395
];
var text = [
new Date((examples[0])),
new Date((examples[1])),
];
var unix = [
new Date((examples[0])).getTime(),
new Date((examples[1])).getTime(),
];
console.log(examples);
console.log(text);
console.log(unix);
输出
[
'Fri Jan 16 1970 10:43:09 GMT-0500 (EST)',
1352589395
][
'Fri Jan 16 1970 10:43:09 GMT-0500 (EST)' ,
'Fri Jan 16 1970 10:43:09 GMT-0500 (EST)'
][
1352589000,
1352589395
]
答案 0 :(得分:1)
数字以毫秒为单位。它们之间的差异是395,不到半秒。您使用的字符串格式仅限于第二个,因此其毫秒部分为0,但您要解析的数字包括毫秒(所有395个)。
答案 1 :(得分:1)
因为Unix时间戳以毫秒为单位。你没有指定毫秒,所以它在1970年1月16日正好给你10:43:09。另一个时间戳在1970年1月16日给你10:43:09.395。
修改
Unix时间戳是自1970年1月1日以来SECONDS的数量.Javascript的getTime()返回自1970年1月1日以来的MILLISECONDS数量。所以是的,它是Unix时间戳...以毫秒为单位。
答案 2 :(得分:-1)
您给Date()两个不同的时间,并且它们都不正确。 Javascript的Date对象不接受当前时间或毫秒或日期字符串或[年,月,日,小时,分钟,秒,毫秒]的参数。
“Fri Jan 16 1970 10:43:09 GMT-0500(EST)”是Date()的无效格式。要获得正确的DateString格式,请选中https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/parse