gpt4 book ai didi

javascript - 为什么来自字符串的 Javascript 日期与来自 Date 对象的相同日期不同

转载 作者:行者123 更新时间:2023-12-03 07:20:52 24 4
gpt4 key购买 nike

我刚刚发现一个意外行为,我在一个隐藏的表单字段中放置了一个时间戳 (Date)。提交(更新)表单时,我对文档增量做了一些检查(因为我只想更新编辑的差异)。

那时我遇到了,未编辑的隐藏 Date 字段已被检测为不同。

我将其分解为以下重现代码:

const date = new Date() // Mon Dec 10 2018 09:42:34 GMT+0100 (Timezone goes here)
const dateStr = date.toString()

console.log(date) // "2018-12-10T08:42:34.388Z"
console.log(new Date(dateStr)); // "2018-12-10T08:42:34.000Z"

它只会在日期被格式化为字符串时发生(例如,当我将其分配为输入字段的值时发生)。

谁能解释为什么会这样?

最佳答案

问题的发生是因为 .toString() 去除了日期的毫秒部分。当您尝试从字符串中再次重建日期时,毫秒部分将默认为零,因为它没有再次给出/提供。

关于javascript - 为什么来自字符串的 Javascript 日期与来自 Date 对象的相同日期不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53702322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com