2015-06-18 1 views
2

Приведенная ниже функция дает мне следующую дату бизнес:Дата порождена moment.js, имеющих недопустимый свойство

function nextBusinessDate() { 

     var today = moment(); 
     var tomorrow = today.add(1, 'days'); 

     // if saturday 
     if (tomorrow.day() === 6) { 
     tomorrow = tomorrow.add(2, 'days'); 
     } else if (tomorrow.day() === 0) { 
     tomorrow = tomorrow.add(1, 'days'); 
     } 

     return new Date(tomorrow._d); 
    } 

дата, что она возвращает выглядит примерно так:

myDate = nextBusinessDate(); 

// This is what myDate looks like in developer console 
myDate: Fri Jun 19 2015 07:24:40 GMT-0400 (EDT) 
__proto__: Invalid Date 

Вопрос Я что это не будет храниться в firebase (в котором используется mongo, я считаю)

Что мне здесь не хватает?

+0

Кроме того, похоже, что это правильное поведение: https: // GitHub. ком/момент/момент/вопросы/1015 – Jamiec

ответ

0

Вы не должны использовать частный d. Попробуйте использовать .toDate().

1

Как и в этом ответе https://stackoverflow.com/a/26744045/1167456, вы не должны использовать метод _d, поскольку это частный метод в API. Существует уже встроенный конвертер для Javascript дата данный момент объекты: .toDate()

Ваша обратная линия должна выглядеть следующим образом:

return tomorrow.toDate(); 
Смежные вопросы