2016-05-05 2 views
-2

Я пытаюсь вычесть 5 минут с настраиваемого момента времени, но это не изменяет дату. Код для пользовательского момента времени и времени следующий:Momentjs - дата не подлежит манипулированию

myDateString = '2016-05-05 16:06:00'; 

myStartDate = moment(myDateString, 'YYYY-MM-DD HH:mm').subtract(5, 'm'); 

// returns 2016-05-05 16:06:00 

Принимая во внимание, что если я просто изменяю нестандартный момент, например. moment() он делает работу

myStartDate = moment().subtract(5, 'm'); 

// returns 2016-05-05 16:01:00 (assuming it's currently 16:06) 

Как изменить настроенную дату момент?

+0

Основываясь на вашем примере вывода, это выглядит как противоположность , Неизменный момент вычитается. –

+0

Я переформулировал вопрос, чтобы он дал немного больше смысла. Я пытаюсь изменить пользовательский момент datetime, который в настоящее время не работает. –

+0

Работает отлично для меня: https://jsfiddle.net/dcyemcec/ (Вы уверены, что не выдали 'myDateString' случайно?) – Jamiec

ответ

1

Если вы хотите выводить результаты расчета в виде строки нужно добавить .format, например:

myDateString = '2016-05-05 16:06:00'; 
myNewString = moment(myDateString).subtract(5, 'm').format('YYYY-MM-DD HH:mm:ss'); 

В качестве альтернативы вы можете сохранить новый момент объект:

myDateString = '2016-05-05 16:06:00'; 
myMomentObject = moment(myDateString).subtract(5, 'm'); 

И выход значение, которое имеет место позже, например:

myMomentObject.format('YYYY-MM-DD HH:mm:ss');