Как сохранить оригинальный формат даты после манипуляции? - PullRequest
0 голосов
/ 24 мая 2018

У меня есть контрольная дата, подобная этой:

2018-05-23T17: 02: 59 + 02: 00

Мне нужно вычесть 1 (милли)секунда от этой контрольной даты, затем верните ее в том же формате, например:

2018-05-23T17: 02: 58 + 02: 00

Iудалось перейти к предыдущей секунде той же даты, например:

var refTime = '2018-05-23T17:02:59+02:00';
var d = new Date(refTime);
var nd = d.setMilliseconds(-1);

Но я не могу найти способ вывода nd в том же формате, что и refTime.

Как я мог это сделать?

Ответы [ 3 ]

0 голосов
/ 24 мая 2018

//Get second and set subtracting a second
var refTime = '2018-05-23T17:02:59+02:00';
var d = new Date(refTime);
var nd = d.setSeconds(d.getSeconds() - 1);
console.log(new Date(nd))
0 голосов
/ 24 мая 2018

//Using moment js
var refTime = '2018-05-23T17:02:59+02:00';
var d = new moment(refTime);
var nd = d.subtract(1, 'seconds')
console.log(new moment(nd))
<script src="https://momentjs.com/downloads/moment.min.js"></script>
0 голосов
/ 24 мая 2018

ОБНОВЛЕНИЕ: просто вычтите 1 к дате.

// 1ms difference
d.getMilliseconds() // 999  
newdate2.getMilliseconds() // 998

var refTime = '2018-05-23T17:02:59+02:00';
var d = new Date(refTime);
var nd = d.setMilliseconds(-1);

// new date 
var newdate = new Date(d - 1);
console.log(newdate);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...