Форматирование произвольной даты с помощью 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 )