У меня есть веб-сервис, который возвращает дату в виде следующей строки:Moment.js и Unix Epoch Конверсия
/Date(1377907200000)/
Я использую MomentJS разобрать это на moment
объекта.
moment("/Date(1377907200000)/")
=>Fri Aug 30 2013 20:00:00 GMT-0400
Все это прекрасно. Но когда я звоню unix()
на объект, мне присваивается значение 1377907200
. Это, однако, соответствует Fri Jan 16 1970 17:45:07 GMT-0500
. Я мог бы просто умножить значение, возвращаемое unix()
, но это кажется неаккуратным для меня. Я подозреваю, что то, что я делаю, вызывая unix()
, не совсем то, что я думаю. Нужно ли указывать какой-то формат при вызове unix()
? Что мне здесь не хватает?
JSFidle showing the conversion to moment and then back.
Вам не нужно преобразовывать объект даты таким образом, момент может обрабатывать 'moment (1377907200000)' просто отлично. Любопытно, почему веб-служба возвращает дату как таковую. – mix3d
Мы также используем веб-сервис, который возвращает его также - это потому, что целевым потребителем API обычно является JavaScript, который выполняет «от эпохи в миллисекундах» вместо секунд. Он нацелен на наиболее вероятного потребителя. –