2017-04-02 154 views
0

如何将UTC中的字符串(如'11:00)转换为相同格式的本地时间。我已经在JavaScript中使用Date函数来转换,但我想要一个快速和可靠的选择。将UTC时间字符串转换为javascript中的本地时区

还可以获取本地时区中的时区缩写和星期几。

+1

momentjs是JS中使用的常用库,当你必须处理时间和日期。也许这可以帮助? [http://momentjs.com/timezone/](http://momentjs.com/timezone/) –

回答

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来转换,但我想 一个快速和可靠的替代。

询问有关书籍,图书馆,工具等建议的问题是无关紧要的。

也获得时区缩写

有估计时区的名字各种资源,但有是名没有标准。大多数解析方法都基于各种日期的主机时区偏移量,这不是100%可靠的,特别是因为没有关于名称应该是什么的协议。

以及当地时区的星期几。在主机默认

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

如果ECMA-402国际化接口的支持,就可以得到星期名称:

一周的当地一日由getDay方法提供,所以使用语言:

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

相关问题