gpt4 book ai didi

javascript - getSeconds() 和分钟翻转

转载 作者:行者123 更新时间:2023-11-29 17:36:04 25 4
gpt4 key购买 nike

Date() 如何处理翻转?

假设您调用 getMinute() 并返回 10。您调用 getSecond() 并返回 0。那是因为时间是第 10 分钟的第 0 秒,还是因为在两次通话之间时钟翻到了新的一分钟,而不是第 11 分钟的第二个零?

在 JS 中有规定的方法来处理这个吗?

如果不是,是否有比重复读取所有值直到它们匹配的通常技巧更好的解决方案?

最佳答案

Is that because the time is second 0 of minute 10...

是的。

...or because between the two calls the clock rolled over to a new minute and it's not second zero of minute 11?

没有。 :-)

Date 实例中的时间不会改变,除非您更改它。您可以安全地读取小时数、分钟数和秒数,并且知道它们都是您创建或上次修改该日期实例时的状态。

当您创建一个 Date 实例时,它会存储一个“时间值”,即自 The Epoch(格林威治标准时间 1970 年 1 月 1 日午夜)以来的毫秒数。 (Date 之前日期的实例具有负时间值,之后的实例具有正值。)该时间值永远不会更改,除非您通过 Date 之一更改它的修改器方法(setHours 等)。

这是一个实际示例,显示它不会在操作中发生变化:

// This grabs a `Date` instance for right now
let d = new Date();

// That date instance stores the "time value"
console.log(d.valueOf() + " is " + d.toISOString());

// Even if we wait a bit, we still see the same value
setTimeout(() => {
console.log(d.valueOf() + " is " + d.toISOString());
}, 2000);

关于javascript - getSeconds() 和分钟翻转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56524701/

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