WEB开发网
开发学院WEB开发Jsp 中国农历二百年算法及年历程序分析一 阅读

中国农历二百年算法及年历程序分析一

 2008-01-05 18:19:48 来源:WEB开发网   
核心提示:中国公历算法 中国公历算法不是太难,要害是星期值的确定,中国农历二百年算法及年历程序分析一,这里给出了简单算法: public static int dayOfWeek(int y, int m, int d) { int w = 1; // 公历一年一月一日是星期一,所以起始值为星期日 y = (y-1)%40

中国公历算法

 

中国公历算法不是太难,要害是星期值的确定。这里给出了简单算法:

 

  public static int dayOfWeek(int y, int m, int d) {

    int w = 1; // 公历一年一月一日是星期一,所以起始值为星期日

    y = (y-1)%400 + 1; // 公历星期值分部 400 年循环一次

    int ly = (y-1)/4; // 闰年次数

    ly = ly - (y-1)/100;

    ly = ly + (y-1)/400;

    int ry = y - 1 - ly; // 常年次数

    w = w + ry; // 常年星期值增一

    w = w + 2*ly; // 闰年星期值增二

    w = w + dayOfYear(y,m,d);

    w = (w-1)%7 + 1;

    return w;

  }

 

中国农历算法

 

根公历相比,中国农历的算法相当复杂。我在网上找的算法之中,eleworld.com 的算法是最好的一个。这个算法使用了大量的数据来确定农历月份和节气的分部,它仅实用于公历 1901 年到 2100 年之间的 200 年。

 

中国农历计算程式

 

跟据 eleworld.com 提供的算法,我写了下面这个程式:

[Html]


Tags:中国 农历 百年

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接