首页 > 解决方案 > 使用momentjs将日期从阿拉伯语格式化为英语

问题描述

我正在尝试使用时刻 js 格式化一个阿拉伯语到英语的日期

var mom = moment("٣٠‏/١١‏/٢٠٢٠","l", 'ar', true);
        if(mom.isValid()) {
        schedule.startTime.dateText= mom.locale('en').format('MM/DD/YYYY'); 
}

这似乎不起作用我将妈妈的价值视为“无效日期”。"٣٠‏/١١‏/٢٠٢٠"来自后端的值是如何转换为英文的?

标签: typescriptmomentjslocale

解决方案


只需尝试在 moment 中指定格式,它应该可以正常工作。

代码沙箱链接:https ://codesandbox.io/s/compassionate-bas-fg1c2?file=/src/index.js:61-169

const arabicDate = "٣٠‏/١١‏/٢٠٢٠";
console.log(moment(arabicDate, "YYYY/MM/DD").locale("en").format("YYYY/MM/DD"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.21.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.21.0/locale/ar-sa.js"></script>


推荐阅读