2011-05-25 51 views
2

我很抱歉,如果这个问题没有多大意义,但我是新的(ISH)脚本,并想知道如果你能帮我解决这个问题。正确的方式将日期转换为UTC

我正在构建一个给定时区的应用程序,告诉你它在哪个位置的时间。当我在时区格林尼治标准时间(UTC)的地点工作时,它工作的很好,但是如果主机上的时区是其他任何东西,那么这会非常糟糕,因为无论如何它都会将时间添加到主机。

所以我想我要做的是将机器时间转换为UTC(使用getUTCDate()等),并将其用作基准。我想知道这是否是正确的方式,或者有更好的方法去做。

任何帮助,将不胜感激。

由于提前,

UPDATE Eugeny89的回答后,我修改了代码,并创造了这个方法为当前日期为UTC转换为我。只是想知道这是否是最好的方法。

private function convertToUTC(dtDate:Date):Date{ 
      dtDate.setTime(dtDate.getTime() + (dtDate.getTimezoneOffset() * 60000)) 
      return dtDate; 
} 

回答

3

使用getTimezoneOffset()DategetUTCHours()(在用户的时间和UTC之间的时间差分钟)。请参阅manual了解更多详情

+0

不错的一个。这是个诀窍。用我所做的更新了我的上一篇文章。你能否提供更好的建议? – 2011-05-25 22:14:33

+1

哼,那是个蹩脚的! 'dtDate.getTime()'返回里程数,'getTimezoneOffset()'返回分钟数。我想你想编写'dtDate.getTimezoneOffset()/ 60000'而不是'dtDate.getTimezoneOffset()* 60000'。但总的来说,这个方法似乎很好。 – Eugeny89 2011-05-26 08:12:34

相关问题