我正在尝试生成欧盟日期,其格式通常为DD/MM/YYYY
。
// August 1st, 2018, EU format is DD/MM/YYYY
const myDate = moment('01/08/2018').locale('fr');
console.log(myDate.format('MM/DD/YYYY'));
尝试将此代码粘贴到momentjs.com中控制台,但它不起作用。
我预计08/01/2018
,但我得到了01/08/2018
。它似乎不尊重区域设置日期格式。
有人知道如何解决这个问题吗?
最佳答案
MomentJS 网站上明确指出:
For consistent results parsing anything other than ISO 8601 strings, you should use String + Format.
您需要传递格式,因为该字符串不是 ISO 格式。
如果您需要利用区域设置信息,请使用支持区域设置信息的脚本。然后,您可以先使用 moment.locale
设置区域设置,然后使用 L
格式说明符(短日期)根据区域设置的规范解析日期。
请参阅下面的演示:
moment.locale('fr');
const myDate = moment('01/08/2018', 'L');
console.log(myDate.format('MM/DD/YYYY'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment-with-locales.min.js"></script>
关于javascript - 创建一个带有区域设置的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51944288/