如何在 JavaScript 中将字符串转换为日期

字符串解析的最佳格式是带有 JavaScript 日期对象构造函数的日期 ISO 格式。

但是字符串有时被解析为 UTC,有时被解析为本地时间,这取决于浏览器供应商和版本。
建议将日期存储为 UTC,并以 UTC 进行计算。

要将日期解析为 UTC,我们应该添加一个 Z:

new Date('2016-04-10T10:20:30Z');

“Z”对于确保将字符串解释为 UTC 而不是本地时间至关重要。

日期对象跟踪特定的时刻,这与时区无关。
如果我们使用日期的 UTC 方法,我们将在 UTC 中访问该时刻。
如果我们使用非 UTC 方法,我们将在本地时间访问它。

let str = "2016-04-10T17:14:00";
let date = new Date(str + "Z");
console.log("UTC string:  " + date.toUTCString());
console.log("Local string:  " + date.toString());
console.log("Hours local:  " + date.getHours());
console.log("Hours UTC:   " + date.getUTCHours());

现在 JavaScript 的日期和时间格式是 ISO-8601 格式的一个子集,除了 JavaScript 的日期总是有一个时间组件,而 ISO-8601 有一个概念,即值可能只有精确才能具体。
也就是说,JavaScript 中的 2016-04-10 是一个特定的日期和时间,但在 ISO-8601 中,它只是没有时间的日期。

日期和时间

我们可以使用 Date 对象来显示当前日期和时间、创建日历、构建计时器等。
new 运算符用于创建日期对象,并且可以使用一组方法来操作该对象。
它允许我们使用本地时间或者 UTC 时间设置和获取年、月、日、小时、分钟、秒和毫秒。

日期:2020-06-02 22:16:12 来源:oir作者:oir