Форматирование произвольной даты с помощью DayJS

Я работаю над переходом с momentjs к dayjs

Как преобразовать пользовательский формат даты в стандартный с помощью dayjs. Например, я пытаюсь отформатировать дату вYYYY-MM-DD+h:mm форматировать YYYY-MM-DD. dayjs дает мнеNaN

Прекрасно работает с moment сюда -

moment(effectiveDate, 'YYYY-MM-DD+h:mm').format('YYYY-MM-DD')

В моей кодовой базе много таких случаев, поэтому я стараюсь не полагаться на манипуляции со строками для достижения этой цели.

Я использовал этот ответ, чтобы попробовать что-нибудь

2 ответа

Решение

Использовать dayjs версия 1.8.20и расширить пакет CustomParseFormat.

В html файле:

...
<script src="https://unpkg.com/dayjs@1.8.20/dayjs.min.js"></script>
<script src="https://unpkg.com/dayjs@1.8.20/plugin/customParseFormat.js"></script>
...

Первый давайте расширим объект dayjs:

dayjs.extend(window.dayjs_plugin_customParseFormat);

Теперь вы можете играть со своим форматом:

const dateString  = dayjs("2019-06-06+4:56", "YYYY-MM-DD+h:mm").format('YYYY-MM-DD');
console.log("Date: ", dateString);

Выход: Date: 2019-06-06

Вы можете сделать так, надеюсь, это поможет вам

let customFormat = dayjs('2019-06-06+4:56'.replace('+','T')+':00').format('YYYY-MM-DD')
console.log('Custom format conversion1 - ', customFormat )
Другие вопросы по тегам