Разбор и форматирование даты в строке - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь date-fns v2.

Я хочу отформатировать дату в строке, используя toDate и format функции:

import { format, toDate } from 'date-fns'
format(toDate('2019-02-11T14:00:00'), 'MM/dd/yyyy')

Но появляется следующая ошибка:

RangeError: Неверное значение времени

Ответы [ 3 ]

0 голосов
/ 30 января 2019

date-fns 2.0.0-alpha.27 (демо: https://stackblitz.com/edit/js-tztuz6)

Использование parseISO :

import { format, parseISO } from 'date-fns'
const formattedDate = format(parseISO('2019-02-11T14:00:00'), 'MM/dd/yyyy');

date-fns v1.30.1 (демо: https://stackblitz.com/edit/js-mt3y6p)

Использование parse :

import { format, parse } from 'date-fns'
const formattedDate = format(parse('2019-02-11T14:00:00'), 'MM/DD/YYYY');
0 голосов
/ 30 января 2019

Похоже, что вы используете Date-Fns версии 2.0, которая в настоящее время все еще находится в состоянии альфа (разработки).

Какие функции доступны и как они работают, похоже, часто меняются.Например, хотя в версии v2.0.0-alpha.26 toDate() можно обрабатывать строковые параметры , он не может делать это больше в версии v2.0.0-alpha.27.Вместо этого появилась новая функция parseISO().

Теперь это должно работать:

format(parseISO('2019-02-11T14:00:00'), 'MM/dd/yyyy')

Однако, хотя версия 2 все еще находится в бета-версии, я бы предложил использоватьстабильная версия 1.x на данный момент.

0 голосов
/ 30 января 2019

Метод toDate не может прочитать этот формат.

Попробуйте преобразовать в Date lke вот так:

var date = new Date('2019-02-11T14:00:00')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...