使用Javascript的Unix到datetime对象
我试图使用javascript将unix时间戳转换为datetime对象,但得到了一个奇怪的输出 我使用的unix时间戳是使用Javascript的Unix到datetime对象,javascript,Javascript,我试图使用javascript将unix时间戳转换为datetime对象,但得到了一个奇怪的输出 我使用的unix时间戳是1420243200000和1420272000000。我的javascript代码如下所示: function timeConverter(UNIX_timestamp){ // var a = new Date(UNIX_timestamp*1000); // var year = a.getFullYear(); // var month = a.getMo
1420243200000
和1420272000000
。我的javascript代码如下所示:
function timeConverter(UNIX_timestamp){
// var a = new Date(UNIX_timestamp*1000);
// var year = a.getFullYear();
// var month = a.getMonth()+1;
// var date = a.getDate();
// var hour = a.getHours();
// var min = "0" + a.getMinutes();
// var sec = "0" + a.getSeconds();
// var time = date + ' ' + month + ' ' + year + ' ' + hour + ':' + min.substr(-2) + ':' + sec.substr(-2) ;
// return time;
var myDate = new Date( UNIX_timestamp *1000);
time = myDate.toLocaleString();
return time;
}
已注释或未注释的尝试都不会产生正确的日期。我一直得到
9/18/46975,下午6:00
和8/17/46976,凌晨2:00
作为答案,我不知道出了什么问题。您的时间戳似乎已经以毫秒为单位。不要乘以1000
将其称为“UNIX\u时间戳”是一种误导。JS函数的时间戳(如
Date.now()
和+new Date()
)是从纪元开始经过的毫秒。尝试myDate=new Date(1420243200000)代码>
从文件中
调用构造函数新日期(值)代码>。其中,value
是“表示自1970年1月1日00:00:00 UTC(Unix历元)以来的毫秒数的整数值”。如果不乘以1000,则得到的结果是无效日期
。@kdubs这是因为变量可能是字符串。试试看。那是一根绳子。通过使用var timestamp=parseInt(UNIX\u字符串,10)修复了它代码>谢谢!