相关疑难解决方法(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
查看次数

hijri(伊斯兰)日历问题!

我会将格里高利日期转换为Hijri(伊斯兰教)日期.可以在网上搜索后,我找到了一个转换它的源代码.我将代码从Java和PHP转换为C base.

工具有时候工作没有任何问题.但有些日子有问题.

我需要你的帮助来修复工具或可用的代码,没有任何问题!BTW我发现了另一个源代码(http://emr.cs.iit.edu/~reingold/calendar.C),它是C++库.因为我不知道C++是否有人可以将其转换为C Base或Objective C将是完美的(仍然不确定此代码是否正常工作).

PS您可以在以下网址查看正确的日期:islamicfinder.org/Hcal/index.php

void gregorian_to_hijri(int* h_y, int* h_m, int* h_d, int  g_y, int  g_m, int  g_d)
{
    int year, month, day;

    int zyr;
    int zd;
    int zm;
    int zy;

    float zjd;
    int zl;
    int zn;
    int zj;

    year = g_y;
    month = g_m;
    day = g_d;


    zyr = year;
    zd = day;
    zm = month;
    zy = zyr;

    if((zy > 1582) || ((zy == 1582) && (zm > 10)) || ((zy == 1582) && …
Run Code Online (Sandbox Code Playgroud)

c c++ objective-c hijri

2
推荐指数
1
解决办法
4224
查看次数

标签 统计

hijri ×2

c ×1

c++ ×1

calendar ×1

date ×1

ecmascript-temporal ×1

javascript ×1

objective-c ×1