You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

moment-hijri判定合法回历日期1400-10-30无效问题排查

回历日期30-Shawwal-1400验证无效的原因分析

以下是导致moment('1400-10-30', 'iYYYY-iMM-iDD').isValid()返回false的核心原因:

  • 历法规则不匹配:moment-hijri插件默认采用通用伊斯兰回历算法,而Ummul-Qura(乌姆古拉)是沙特官方推行的修正版回历,两者在月份天数判定逻辑上存在差异。通用回历中Shawwal月通常仅29天,但乌姆古拉历法会结合实际观测或官方调整,允许部分年份的Shawwal月设为30天,1400年就属于这种特殊情况。
  • 插件数据源未更新:moment-hijri的内置历法数据可能未同步乌姆古拉历法的最新调整,没有收录1400年Shawwal月有30天的规则,因此插件判定该日期超出当月天数上限,返回无效。
  • 格式解析的隐性校验问题:虽然指定了iYYYY-iMM-iDD的解析格式,但插件内部对回历月份与数字的映射校验可能存在疏漏,不过这种情况概率较低,核心矛盾仍在于历法规则的不统一。

若需准确校验乌姆古拉历法日期,建议使用专门适配该历法的日期处理工具,而非通用回历插件。

内容的提问来源于stack exchange,提问作者Zuhair

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 12:04:53