javascript - 创建一个带有区域设置的日期

标签 javascript datetime momentjs

我正在尝试生成欧盟日期,其格式通常为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/

相关文章:

javascript - 具有实时格式设置的 Markdown 编辑器

javascript - 如何使用绝对定位的非后代实现 mouseleave 效果?

python - 如何在 Pandas 中格式化日期列?

javascript - 按时间顺序对带有日期的多维数组进行排序的最快方法

javascript - facebook connect登录更麻烦(JS SDK)

javascript - SVG 路径字符串上的 bool 运算

c# - 字符串到日期格式转换

python - 返回一年中特定日期的上个月

MomentJS - 使 fromNow() 向下舍入

Redux 状态和 momentjs