Moment.Js -泰国日期格式的InvalidDate



我正在使用momentJs并使用它创建日期对象来执行验证,如果给定的日期值与区域设置和格式是否匹配。

当我用Moment()创建对象时,它给出了无效日期。

下面是我在应用程序中使用的样例代码。

const dateStr = "วันศุกร์ที่ 30 มิถุนายน พ.ศ. 2566";
const formatStr = "ddddที่ d MMMM G yyyy";
const someday = moment(dateStr, formatStr, "th");
console.log(someday);

输出-Invalid Date

_d: Invalid Date {}_
f: "ddddที่ d MMMM G yyyy"_
i: "วันศุกร์ที่ 30 มิถุนายน พ.ศ. 566"
_isAMomentObject: true
_isUTC: false
_isValid: false
_l: "th"

如有任何帮助,不胜感激。

只需导入https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.4/locale/th.min.js after moment.js库,并将formatStr变量中的D更改为d即可解决此错误。

const dateStr = "วันศุกร์ที่ 30 มิถุนายน พ.ศ. 2566";
const formatStr = "ddddที่ D MMMM G yyyy";
const someday = moment(dateStr, formatStr, "th");
console.log(someday);
const formattedDate = someday.locale("th").format(formatStr);
console.log(formattedDate);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.4/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.4/locale/th.min.js"></script>

最新更新