使用 moment.js 或日期管道为不同语言格式化日期 | angular 9

Formating date for different languages using moment.js or date pipe | angular 9

我有一个来自后端响应的日期字段,当我们手动更改浏览器语言时,格式会发生变化。 例如,如果浏览器语言是法语,我来自后端响应的日期将是这样的 23 juin 202130 déc. 2020。我必须将 UI 格式化为 MM/DD/YYYY 格式。 我的代码将其格式化为 MM/DD/YYYY

let momentLocale= moment.locale(this.translateService.currentLang)
 schedule.startTime.dateText= moment(schedule.startTime.dateText).format("MM/DD/yyyy")

这不起作用,它的设置值是 schedule.startTime.dateText 的无效日期 我如何将日期格式化为 MM/DD/YYYY,其中月份使用不同的语言,并且当浏览器设置语言更改时语言也会更改? moment.js 是必需的还是我可以使用 Datepipe 来完成?

您需要导入您将要使用的 moment 语言环境,并将输入格式传递给 moment 解析函数:

import 'moment/locale/fr';

...

let momentLocale = moment.locale(this.translateService.currentLang);
schedule.startTime.dateText= moment(schedule.startTime.dateText, "DD MMM YYYY").format("MM/DD/yyyy");