在javascript中将UTC时间字符串转换为本地时区

时间:2017-04-02 16:00:30

标签: javascript date datetime utc

如何转换UTC中的字符串,例如' 11:00'以相同的格式到当地时间。我在javascript中使用了Date函数来转换它,但我想要一个快速可靠的替代方案。

还要在当地时区获取时区缩写和星期几。

1 个答案:

答案 0 :(得分:0)

  

如何将UTC中的字符串(如'11:00')转换为相同的本地时间   格式。

在下文中,“local”表示非UTC方法返回的值,它考虑了主机系统时区设置。

一种方法是创建日期,将UTC时间设置为适当的时间,然后回读本地时间值,例如

var d = new Date();
// Set time to 11:00
d.setUTCHours(11,0,0,0);
// Get "local" date and time
console.log(d.toString());

  

我在javascript中使用了Date函数来转换它但是我   想要一个快速可靠的替代方案。

询问书籍,图书馆,工具等建议的问题是偏离主题的。

  

同时获取时区缩写

估计时区名称有各种资源,但名称没有标准。大多数解决方法都基于不同日期的主机时区偏移,这不是100%可靠,特别是因为没有就名称应该达成一致意见。

  

以及当地时区的星期几。

getDay 方法提供了一周中的当地日期,因此:

var dayNumber = d.getDay(); // 0 for Sunday, 1 for Monday, etc.

如果支持ECMA-402国际化界面,您可以使用以下命令获取主机默认语言的工作日名称:

var d = new Date();
console.log('Today is ' + d.toLocaleString(undefined, {weekday: 'long'}) + '.')