在javascript中将unix日期时间戳转换为特定时区的时间

问题描述:

我想将unix时间戳转换为特定时区的时间。在javascript中将unix日期时间戳转换为特定时区的时间

说例如unix时间戳为 - 1446960600 我想将此时间戳转换为美国/洛杉矶?

+0

你的问题是没有明确的?你能告诉你实际需要哪种格式吗? –

您可以在UNIX时间戳整数转换成JavaScript日期这样

var date = new Date(1446960600 * 1000); 

Unix的时间戳是在UTC时区,但没有一个简单的方法在Javascript时区的变化。

我建议您使用像momentjs这样的时间库。它处理像夏时制这样的边缘情况,如果你自己做,你就不得不考虑到这一点。

下面是另一个答案一些示例代码:

function toTimeZone(time, zone) { 
    var format = 'YYYY/MM/DD HH:mm:ss ZZ'; 
    return moment(time, format).tz(zone).format(format); 
} 

https://*.com/a/18612568/1031569

您可以使用日期时间的getTimezoneOffset()方法来计算时区的变化,但明白这不会顾及一大跳节约或闰年变化。

使用momentjs。你可以选择你的格式,你只需设置国家需要

http://momentjs.com/