如何在 JavaScript 中解析 JSON 日期
要解析 JSON 日期:
-
使用
toJSON()
方法获取 Date 对象的字符串表示形式。 -
将 JSON 字符串传递给
Date()
构造函数。 -
Date()
构造函数将解析 ISO 字符串并创建一个 Date 对象。
const json = new Date().toJSON();
console.log(json); // 👉️ "2022-10-06T14:29:28.109Z"
const date = new Date(json);
console.log(date); // 👉️ Thur Oct 26 2022 14:29:28
可以对有效的 Date 对象调用 toJSON() 方法。
该方法以
ISO 8601
格式返回给定日期的字符串表示形式。
我们可以将调用方法的结果传递给 Date()
构造函数,以从 JSON 字符串创建 Date 对象。
这是相同的示例,但使用了更手动的方法。
const json = JSON.stringify(new Date().toISOString());
console.log(json); // 👉️ "2022-10-06T14:29:28.109Z"
const date = new Date(JSON.parse(json));
console.log(date); // 👉️ Thur Oct 26 2022 14:29:28
// 👇️ "2022-10-06T14:29:28.109Z"
console.log(date.toISOString());
我们使用 toISOString()
方法获取一个字符串,该字符串表示 ISO 8601 格式的给定日期 - YYYY-MM-DDTHH:mm:ss.sssZ
。
使用 toISOString
方法时,我们始终会根据通用时间获取日期。
toJSON()
方法在底层使用toISOString()
方法,因此两个代码片段是等价的,第二个更明确。
toISOString
方法根据通用时间返回结果,因此字符串显示的时间为 09:04:45,而 Date 对象的时间设置为 11:04:45。
这是因为我的时区比协调世界时 (UTC) 早 2 小时。
大多数情况下,在存储日期时,建议在数据库中存储时间戳或有效的 ISO 8601 字符串 (UTC)。
例如,如果我们将当地时间午夜 (00:00) 存储在数据库中,您将不知道这是东京(日本)、巴黎(法国)、纽约(美国)等的午夜。这些都是相隔数小时的不同时刻。
为了保持一致性,当我们必须向用户呈现日期和时间时,您应该主要使用本地时间,但将实际值存储在 UTC
(=GMT) 中。
在 JavaScript 中获取日期的 ISO 格式字符串非常容易。我们只需使用 toISOString()
方法。
console.log(new Date().toISOString());
使用 JSON.stringify
方法可以轻松地将字符串转换为 JSON,然后可以通过网络传输。
Date()
构造函数知道如何解析 ISO 8601 字符串,因此我们所要做的就是解析 JSON 并将 ISO 字符串传递给构造函数。
const json = JSON.stringify(new Date().toISOString());
console.log(json); // 👉️ "2022-10-06T14:36:08.488Z"
const date = new Date(JSON.parse(json));
console.log(date); // 👉️ Thur Oct 26 2022 14:36:08
相关文章
使用 CSS 和 JavaScript 制作文本闪烁
发布时间:2023/04/28 浏览次数:146 分类:CSS
-
本文提供了使用 CSS、JavaScript 和 jQuery 使文本闪烁的详细说明。
在 PHP 变量中存储 Div Id 并将其传递给 JavaScript
发布时间:2023/03/29 浏览次数:69 分类:PHP
-
本文教导将 div id 存储在 PHP 变量中并将其传递给 JavaScript 代码。
在 JavaScript 中从字符串中获取第一个字符
发布时间:2023/03/24 浏览次数:93 分类:JavaScript
-
在本文中,我们将看到如何使用 JavaScript 中的内置方法获取字符串的第一个字符。
在 JavaScript 中获取字符串的最后一个字符
发布时间:2023/03/24 浏览次数:141 分类:JavaScript
-
本教程展示了在 javascript 中获取字符串最后一个字符的方法