#javascript #momentjs
#javascript #momentjs
Вопрос:
я использую пакет, который возвращает дату в форме obj, например
{day: 9, month: 12, year: 2020}
я хочу использовать MomentJS для возврата
Sat Dec 19 2020 00:00:00 GMT 0200 (Eastern European Standard Time)
я пробовал
console.log(moment(calendarDates).format('MMMM Do YYYY'))
но я получил сообщение об ошибке я не знаю, что следует ожидать от формы даты для выполнения преобразования
**
Deprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.
Arguments:
[0] _isAMomentObject: true, _isUTC: false, _useUTC: false, _l: undefined, _i: [object Object], _f: undefined, _strict: undefined, _locale: [object Object]
**
Комментарии:
1. что находится внутри переменной
calendarDates
?2. я полагаю, что объект даты js {день: 9, месяц: 12, год: 2020}
3. похоже, что с вашей
calendarDates
переменной возникла проблема, потому что, если вы используете объект Date js, это должно работать правильно4. Я думаю, вы должны использовать
moment-timezone
get the time zone в выходных данных, но за исключением того, что вы можете получить дату, преобразовав объект date в строку, а затем передать эту строкуmoment
в форматирование и получить результат, подобный,Wed Dec 9 2020
5. Здесь нет необходимости в MomentJS ( Moment согласен ), вы можете просто использовать дату js
new Date(calendarDate.year, calendarDate.month, calendarDate.day).toString()
или посмотреть Date.prototype.toLocaleDateString() для форматирования языка / часового пояса.