можно ли преобразовать date obj в другой формат с помощью MomentJS?

#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() для форматирования языка / часового пояса.