本地日期转换为utc纪元时间与javascript中的最新版本不匹配

时间:2015-01-05 07:42:58

标签: javascript date utc epoch date-conversion

让本地日期时间为local : Mar 10 2014 11:52:50 GMT+0530
在javascript中将其转换为utc纪元时间:

var epochtime=Date.UTC(2014,2,10,11,52,50);


output : 1394452370000

现在将其转换回本地日期:

var utcSeconds =1394452370000;
var d = new Date(0); // The 0 there is the key, which sets the date to the epoch
d.setUTCSeconds(utcSeconds);
alert(d);

output : Fri Jun 09 46158 06:03:20 GMT+0530

但所需的输出是: Mar 10 2014 11:52:50 GMT+0530

请有人能弄明白问题是什么......?

2 个答案:

答案 0 :(得分:1)

毫秒!=秒。您以毫秒为单位获取值,但之后将其用作秒。

要将您的值重新变为日期,只需:

var d = new Date(1394452370000);

示例:



var epochtime=Date.UTC(2014,2,10,11,52,50);
var d = new Date(epochtime);
snippet.log(d.toISOString());

<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您可以尝试直接将UTC转换为日期,

var d = new Date(utcSeconds); 警报(d);