javascript - 使用 toISOString() 和 JSON.stringify() 将日期转换为字符串之间的区别

标签 javascript string function performance date

我研究了如何将 date 转换为 ISO 格式的 string,并且发现了两种方法可以实现相同的结果 '2022-07-29T06:46:54.085Z':

  1. (new Date()).toISOString()
  2. JSON.parse(JSON.stringify(new Date()))

问题:

  • JS 是否使用两种方法/算法来转换日期,或者仅使用一种函数代码调用不同的对象 JSONDate,如果是哪一个最好用?

最佳答案

首先:代码更少,更容易维护

因此,new Date().toISOString() 是返回 ISO 格式字符串的最简单方法。

关于问题:

没有。输出是相同的,因为下面的 JSON.stringify 逻辑返回:

JSON.stringify(new Date())
'"2022-07-29T18:58:14.411Z"'

因为:

The instances of Date implement the toJSON() function by returning a string (the same as date.toISOString()). Thus, they are treated as strings.

来源:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

(new Date).toJSON()
'2022-07-29T18:58:14.411Z'

关于javascript - 使用 toISOString() 和 JSON.stringify() 将日期转换为字符串之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73169817/

相关文章:

javascript - 滚动时试图使导航菜单停留在屏幕顶部

C++ 设置类值

javascript - Web 音频 API 中的自定义波形

javascript - 按数字处理输入字段

c++ - 为什么 pangram missing letter 函数不返回任何内容?

java - 从字符串中删除以逗号分隔的值

c++ - 通过指针调用函数

c++ - 接受带有两个交换字母的输入的函数?

javascript - 我不明白为什么页面会跳到顶部

c - 如何在 C 中比较两个以上的字符串?