【问题标题】:Convert UTC time string to local timezone in javascript在javascript中将UTC时间字符串转换为本地时区
【发布时间】:2017-04-02 16:00:29
【问题描述】:

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

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

【问题讨论】:

标签: javascript date datetime utc


【解决方案1】:

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

在下文中,“本地”表示非 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'}) + '.')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-31
    • 2010-09-09
    • 2016-01-05
    • 1970-01-01
    • 2018-08-08
    • 2011-06-13
    • 2020-11-22
    相关资源
    最近更新 更多