2017-07-25 88 views
0

我有个约会在AS3一个非常简单的代码:时间跨度日期PC VS设备

var currDate:Date = new Date(Number(461624400000)); 
trace("currDate= "+currDate); 

当我运行我的电脑上运行此代码我得到这个日期:

周六00年8月18日:00:00 GMT + 0300 1984年

当我运行我的设备上这个代码,我得到这个日期:

Fri Aug 17 23:00:00 GMT + 0200 1984

一天的差别。

,当我尝试运行的类似代码的JavaScript只为这个特殊的日子

发生了,我也对PC和设备运行时,有一个区别。 下面的代码:

console.log(new Date(461624400000)); 

我会很高兴,如果有人可以帮助我。 谢谢。

+1

的差异线索是时区值 – jeff

+0

我的电脑和我的设备都设置为同一时间区域。它只发生在这个特定的日期。 – racheli

回答

0

您可以将此代码用于AS3和JS,实际上日期设置为EPOCH,因此两个平台的结果相同。

var utcSeconds = 461624400000; 
var date = new Date(0); // 0 sets the date to the EPOCH 
date.setUTCSeconds(utcSeconds); 
trace (date); 
//alert (date) 

例与时区偏移:

function timeStampDate(value) 
{ 
    return new Date(new Date(value).getTime() + (new Date().getTimezoneOffset() * 60 * 1000)); 
}; 


var timestamp = 461624400000; 
date = timeStampDate(timestamp); 
alert (date); 

你会得到相同的小时,分​​钟,秒,但不同的时区,虽然

+0

我试图运行你的代码,但我仍然得到了不同平台日期的一天差异 – racheli

+0

@racheli恕我直言,你需要确切的时间,不要打扰时区,所以我添加了上面的新例子 – gMirian