angular - 使用 moment.js 或日期管道为不同语言格式化日期 | 角度 9
问题描述
我有一个来自后端响应的日期字段,当我们手动更改浏览器语言时,格式会发生变化。例如,如果浏览器语言是法语,我从后端响应的日期将是这样的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");
推荐阅读
- ruby - Ruby 使用 ipdata API 获取 IP 地址信息
- bash - 为什么“$
" 执行文件名补全? - c# - 按下播放后不同列表中的Unity序列化对象不相等
- ruby-on-rails - Rails 命名空间 has_many 通过缺少的列
- c# - 尝试使用列表反序列化嵌套的 xml
- python - 将大型 csv 快速转换为 geojson
- vba - CommandBars("Text").Controls 退出文档时未删除 - VBA word 插件
- javascript - 格式错误的 utf-8 数据 cryptoJS
- mysql - 为另一个表中的每个元素创建一个包含一列的新表
- powershell - Set-Acl 错误 Active Directory 对计算机帐户的权限