2016-04-16 3 views
0

Я пытаюсь форматировать дату из react datepicker, значение происходит в это 1441062000000MomentJs неверная дата от DatePicker

onChangeStartDate: function(value) { 
    this.setState({ 
     startDate: moment(value) 
    }) 
}, 

Когда я проверяю дату в Дев инструментов я получаю момент неверную дату, может кто-нибудь сказать мне, как я могу создать дату из значения?

Я использую значение 1443135600000 с форматом, но по-прежнему получать неверную дату:

onChangeEndDate: function onChangeEndDate(value) { 
    console.log(moment(value, ConfigProvider.getKey('dateFormat'))); 

ответ

0

Вам может понадобиться пройти формат в качестве второго аргумента moment - в случае реакции выбора даты, то по умолчанию до 'x', например Отметка времени Unix:

this.setState({ 
    startDate: moment(value, 'x') 
}) 

Если второй аргумент опущен, момент пытается разобрать вход по looking for ISO 8601 formats, но метка времени Unix приведет этот алгоритм к сбою. Вот почему вам нужно явно указать формат.

Другим способом было бы настроить ваш выбор даты, чтобы испускать изменения в формате, совместимом с IS 8601, например format='YYYY-MM-DD'.

+0

Конечно, 'x' необходимо, только если ввод представляет собой строку. Если это уже номер JS, он не нужен. –

+0

Это может быть значение от даты, которая неверна? – Bomber

Смежные вопросы