如何解决下面的波纹状代码,该波纹状代码将增加分钟的时间戳,最终值也应包含在时间戳中,因为我将执行一些数据库查询?

问题描述 投票:0回答:3
var startDate = 1582530967;

var intervalDate = moment(new Date(startDate)).add(30, 'minutes').toDate().valueOf()

console.log(intervalDate);

以上代码使添加30分钟的错误成为可能

Monday, March 16, 2020 5:56:07 AM GMT+02:00
javascript node.js momentjs unix-timestamp
3个回答
0
投票

如果只想从时间戳记转换为新的时间戳记,只需添加正确的秒数。

var startDate = 1582530967;
var intervalDate = startDate + 30 * 60; // 30 min * 60 sec in a min

如果以毫秒为单位:

var startDate = 1582530967000;
var intervalDate = startDate + 30 * 60 * 1000; // 1000 ms in sec

0
投票

我注意到您的startDate变量在应该为毫秒时可能在中,因此还有3位数字。这是您的代码,稍有更改以获取更准确的开始日期:

var startDate = new Date().valueOf();
var intervalDate = moment(new Date(startDate)).add(30, 'minutes').toDate().valueOf()

Codepen link

该代码似乎正确添加了30分钟。


0
投票

这能解决您的问题吗?

//using momentjs
var moment = require("moment");

//converting timestamp to date
var time = moment.unix(1368457233).format("YYYY-MM-DD HH:mm");

//adding minutes to the date
var addingMinutes = moment(time)
  .add(3, "minutes")
  .format("YYYY MM DD");

//converting to timestamp
var afterConversion = moment(addingMinutes).format("X");

© www.soinside.com 2019 - 2024. All rights reserved.