问题描述
我正在试用 dayjs
。按照文档中的示例,我在我的 HTML 脚本中进行了设置:
<script src="https://unpkg.com/dayjs@1.10.4/dayjs.min.js"></script>
<script src="https://unpkg.com/dayjs@1.10.4/locale/en-gb.js"></script>
var locale = dayjs.locale('en-gb');
var date = dayjs('1/4/21').format('DD MMM YYYY');
第一行正确地将 locale
返回为 'en-gb'。但是,根据 DMY 的标准英式英语日期顺序,第二行返回 date
为 '04 Jan 2021',而它应该是 '01 Apr 2021'。
我已经检查了 en-gb 语言环境文件的日期是否正确。
我该如何解决这个问题?
编辑
我发现 moment
在使用 moment-with-locales.js
时也有同样的问题。
解决方法
这可能无法回答问题,因为您特别询问如何使用本地功能解析日期。但我使用自定义解析插件解决了这个问题:
const customParseFormat = require("dayjs/plugin/customParseFormat");
dayjs.extend(customParseFormat);
dayjs("01/04/2021","DD/MM/YYYY").format("DD MMM YYYY")