问题描述
我已将应用程序转换为德语作为区域格式,并且注册了locale_id,因为我能够看到预期的日期格式。但是,正如我以德语格式显示的日期是2020年10月13日(它使用“。”特殊字符,格式是“ DD.MM.YYYY” )
当我从日期选择器中选择日期时,它会按预期方式被选择,但是在保存时,我必须将其转换为美国标准的区域设置格式,以便存储数据库。
例如- 德语为locale_ID->日期格式为DD.MM.YYYY 但是在保存时,我想将其转换为YYYY-MM-DD
我尝试关注-
- @ angular / common的FormatDate(“ DD.MM.YYYY”,“ shortDate”,“ en-US”),但会引发无效日期错误
- moment.js的瞬间(“ DD.MM.YYYY”)。format(“ YYYY-MM-DD”),但这给了我无效的日期。
您能帮助我,如何准确地将日期更改为美国语言环境,而又不更改locale_Id,因为我只希望德语系统。
我的系统几乎接受所有语言环境,因此德语到美国就是一个例子。因此,我正在寻找一种将其转换的通用方法。
解决方法
您可以使用Moment.js尝试
console.log(moment("02.04.2021","DD.MM.YYYY").format('YYYY-MM-DD'));
moment.locale(this.locale);
if (!format) { format = "YYYY-MM-DD"; }
var localeFormat = moment.localeData().longDateFormat('L');
return moment(date,localeFormat).format(format);