在 Node.js 中向 javascript Date 添加分钟数
Adding minutes to a javascript Date in Node.js
我在 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
因为减法运算符-
强制其操作数为 Number,因此:
bt_time - (60*1000*5)
实际上:
bt_time.getTime() - 300000
这将创建一个数字(表示自 ECMAScript 纪元以来的毫秒),其值比 bt_time
的时间值小 300,000
已经回答了,但为了完整起见:
但是,加法运算符+
是重载的,因此:
bt_time + (60*1000*5)
脚本引擎必须确定它是否意味着加法、串联或强制到数字(+一元运算符)。默认情况下,Date 对象强制转换为字符串,因此+
充当串联运算符,正如 Daishi Nakajima 所说,它实际上是:
bt_time.toString() + 300000
bt_time object
类型。 bt_time + i
意味着bt_time.toString() + i
正确的是
new Date(bt_time.getTime() + 60*1000*5).toString();
// or
bt_time.setMinutes(bt_time.getMinutes() + 5);
我推荐 moment.js 在 nodejs 中
moment().add(5, 'minutes').toDate();
相关文章:
- 使用 javascript 将指定的分钟数添加到时间
- 在 Node.js 中向 javascript Date 添加分钟数
- 检查本地存储中的记录是否在 1 分钟前添加
- 使用 JavaScript 给 hh:mm 添加一分钟
- 全日历轴格式添加 2 分钟
- 如何添加提交表单的 5 分钟脚本倒数计时器
- 将分钟添加到 while 循环
- 如何为番茄钟添加分钟数
- 将分钟或秒添加到 Javascript 倒数计时器
- 如何在 JavaScript 中向 Datetime 字符串添加分钟数
- 向 js 日期对象添加分钟时出错
- 将30分钟添加到Date会使其倒退30分钟
- JavaScript倒计时,添加小时数&分钟
- js添加7分钟直到10小时(00:07:04:14:21:)
- JS计时器只适用于秒,如何添加分钟和小时
- 向日期(javascript)添加分钟无效日期
- Javascript在循环中添加分钟数
- 通过使用时刻javascript我只需要添加小时(不增加或添加分钟)/轮到最近的小时或月或年
- JavaScript:解析时间字符串并向其添加分钟数
- Javascript日期和添加分钟