Как исправить приведенный ниже код, который предназначен для добавления минут к отметке времени, а окончательное значение также должно быть в отметке времени, поскольку я буду выполнять некоторые запросы к базе данных? - PullRequest
0 голосов
/ 24 февраля 2020
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

Ответы [ 3 ]

1 голос
/ 24 февраля 2020

Если вы просто хотите go от отметки времени до новой отметки времени, просто добавьте правильное количество секунд.

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 голосов
/ 24 февраля 2020

Это решит вашу проблему?

Рабочая песочница: https://codesandbox.io/s/adoring-shamir-0yuxq

//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");

0 голосов
/ 24 февраля 2020

Я заметил, что ваша переменная startDate может быть в секундах , когда она должна быть миллисекундами , и, следовательно, иметь еще 3 цифры. Вот ваш код с небольшими изменениями, чтобы получить более точную дату начала:

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

Кодовая ссылка

Код, кажется, правильно добавляет 30 минут.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...