问题描述
我有一个来自后端响应的日期字段,其中的格式会随着我们手动更改浏览器语言而发生变化。
例如,如果浏览器语言是法语,则来自后端的响应日期将类似于 23 juin 2021
或 30 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");