相关疑难解决方法(0)

如何在没有外部库或复杂天文公式的情况下将 5 种伊斯兰(回历)日历中的任意日期转换为 18 种世界日历中的任意日期

在 StackOverflow 和 CodeReview 网站上搜索,尚未尝试过此问题/帖子中描述的方法;它将 5 个伊斯兰日历的日期转换为 Javascript 中 18 个可用日历中的任何一个,而无需使用外部日期库或使用复杂的数学/天文公式。

\n

Javascript Intl.DateTimeFormat()

\n

我们都知道 Javascript 有一个内置方法(Intl.DateTimeFormat())将公历日期转换为各种日历日期(18 个世界日历),包括输出字符串的格式。

\n

然而,Javascript并没有提供反向操作的内置方法,即将18个世界日历日期转换回公历日期(包括伊斯兰历日期)或其他日历。为此,您需要使用外部日期库来进行转换,例如“moment.js”等。

\n

这里使用的方法/代码使用外部库,而是使用Javascript Calendar Conversion by Target Approximation Method。下面的流程图总结了该方法的概念,该方法可用于将其他日历转换为剩余日历。

\n

下面的简短 Javascript 函数提供了将五 (5) 个伊斯兰 (Hijri) 日历日期(从伊斯兰教纪年 -280,803 到 +281,510 AH)中的任何一个转换为以下 18 个 Javascript 日历中的任何一个的功能,并提供格式化选项结果输出:

\n

"buddhist", "chinese", "coptic", "dangi", "ethioaa", "ethiopic", "gregory", "hebrew", "indian", "islamic", "islamic-umalqura", "islamic-tbla", "islamic-civil", "islamic-rgsa", "iso8601", "japanese", "persian", "roc", "islamicc".

\n

该方法使用外部库,也不使用复杂的数学或天文公式,仅依赖于 Javascript …

javascript calendar date hijri ecmascript-temporal

16
推荐指数
1
解决办法
3831
查看次数

标签 统计

calendar ×1

date ×1

ecmascript-temporal ×1

hijri ×1

javascript ×1