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

标签 javascript node.js date datetime time

我在 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/

相关文章:

php - 插入mysql查询时得到一个空的div

Javascript Appendchild 为每条记录创建一个计数

node.js - MongoError : Can't canonicalize query: BadValue bad order array [2]

javascript - Django CMS/WYMEditor 停止剥离空白

node.js - Node.js 和 Mongoose 的管理面板

node.js - 为什么 node.js 不能在共享主机上运行?

Perl - 如何转换日期?

linux - shell 脚本搜索并用日期替换字符串值

javascript - 一组带幻灯片的图像 - javascript

javascript - 您如何允许 html 和 Javascript 文件在 Atom 中运行?