如何转换UTC中的字符串,例如' 11:00'以相同的格式到当地时间。我在javascript中使用了Date函数来转换它,但我想要一个快速可靠的替代方案。
还要在当地时区获取时区缩写和星期几。
答案 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'}) + '.')