gpt4 book ai didi

javascript - 在 Node.js 中向 javascript 日期添加分钟

转载 作者:太空宇宙 更新时间:2023-11-04 02:53:11 26 4
gpt4 key购买 nike

我在 Node.js 中的 javascript 中向日期添加分钟时遇到问题。我有一个日期对象,bt_time = new Date()

bt_time.toString()
"Mon Mar 07 2016 03:30:10 GMT+0000 (UTC)"

以下操作尝试添加 5 分钟以给出以下结果

bt_time + (60*1000*5)
"Mon Mar 07 2016 03:30:10 GMT+0000 (UTC)300000"

new Date(bt_time + (60*1000*5)).toString()
"Mon Mar 07 2016 03:30:10 GMT+0000 (UTC)"

new Date(bt_time) + (60*1000*5)
"Mon Mar 07 2016 03:30:10 GMT+0000 (UTC)300000"

+ (60*1000*5) 似乎只是在日期字符串的末尾添加了 300000,而不是添加到时间中。当我尝试减法时,我没有遇到同样的问题。

我需要日期算术能够迭代几天的时间跨度,一次 5 分钟。

最佳答案

回复:

I don't have the same issue when I attempt subtraction

因为subtraction operator -强制其操作数为 Number,因此:

bt_time - (60*1000*5)

实际上是:

bt_time.getTime() - 300000

这将创建一个数字(表示自 ECMAScript 纪元以来的毫秒数),其值比 bt_time 的时间值小 300,000。

已经回答,但为了完整性:

但是,addition operator +已重载,因此:

bt_time + (60*1000*5)

脚本引擎必须确定它是否意味着 addition, concatenation或强制转换为数字 ( + unary operator )。默认情况下,Date 对象强制转换为字符串,因此 + 充当连接运算符,正如 Daishi Nakajima 所说,实际上是:

bt_time.toString() +  300000

关于javascript - 在 Node.js 中向 javascript 日期添加分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36122895/

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