如何计算贾拉利日历中的leap年?

问题描述 投票:0回答:1

您知道,贾拉利历法每四年有一次飞跃(当然,有一些例外)

而不是一年有365天,而是366天:)

另外一个问题是,有些月份是29天,有些月份是30天,有些月份31:|

我使用矩型库生成这些日期(当然使用fa方法)

这个名为تقویم的网站做得很好。

var moment = require('moment-jalaali')
moment().format('jYYYY/jM/jD')

现在我的问题是如何确定哪个月是29、30和31哪一年是leap年?

jalali-calendar
1个回答
1
投票

在上一个项目中,我遇到了同样的问题,您必须使用此方法来执行此操作

此功能不在javascript中,但是此算法在您的year年中非常有效

internal static bool IsLeapYear(int y)
{
    int[] matches = { 1, 5, 9, 13, 17, 22, 26, 30 };
    int modulus = y - ((y / 33) * 33);
    bool K = false;
    for (int n = 0; n != 8; n++) if (matches[n] == modulus) K = true;
    return K;
}
© www.soinside.com 2019 - 2024. All rights reserved.