我的目标是将表示Unix纪元时间(或自1970年1月1日午夜以来的毫秒数)转换为UTC(本地时间)的本地时间或GMT)时区。尝试将Unix纪元时间转换为UTC本地日期/时间字符串
所以我有这样的方法:
function formatDateTimeFromTicks(nTicks)
{
//'nTicks' = number of milliseconds since midnight of January 1, 1970
//RETURN:
// = Formatted date/time
return new Date(nTicks).toLocaleString();
}
由于我使用的1442004135000
值作为一个例子,应该给我9/11/2015 8:42:15 PM
为我的语言环境(here的,你可以检查),但我的方法:
alert(formatDateTimeFromTicks(1442004135000));
给我9/11/2015 1:42:15 PM
。
任何想法为什么以及如何解决它?
什么是你的区域设置?我得到8:42 pm,我的时区设置为CEST。准确地说,我得到“11 septembre 2015 22:42:15 UTC + 2” – Touffy
@Touffy:在这种情况下的时区应该不重要,因为我需要它显示UTC(或格林威治)时区的时间。区域设置应该仅用于格式化日期/时间本身。换句话说,它不应该转换任何东西。 – c00000fd
对不起,你想要UTC。希望我的回答有帮助。 – Touffy