历法函数库
时间:2008-04-17 来源:剑心通明
想要使用历法函数库,需要先编译好 dl/calendar 函数库。php 中的历法函数库提供不同的公元历法转换。转换的基准是凯撒日计数 (julian day count)。所有的历法计算都必需先转换成凯撒日计数,再转成您所需要的历法,更多的资料可以参考这个网址找到
http://genealogy.org/~scottlee/cal-overview.html
。不过对于使用黄帝纪元的中国,这个函数库就还需要扩充才适合了。
jdtogregorian :
将凯撒日计数 (julian day count) 转换成为格里高里历法 (gregorian date)。
gregoriantojd :
将格里高里历法转换成为凯撒日计数。
jdtojulian :
将凯撒日计数转换成为凯撒历法。
juliantojd :
将凯撒历法转换成为凯撒日计数。
jdtojewish :
将凯撒日计数转换成为犹太历法。
jewishtojd :
将犹太历法转换成为凯撒日计数。
jdtofrench :
将凯撒日计数转换成为法国共和历法。
frenchtojd :
将法国共和历法转换成为凯撒日计数。
jdmonthname :
返回月份名。
jddayofweek :
返回日期在周几。
jdtogregorian
将凯撒日计数 (julian day count) 转换成为格里高里历法 (gregorian date)。
语法: string jdtogregorian(int julianday);
返回值: 字符串
函数种类: 时间日期
内容说明 将凯撒历法的日期计数转换成为格里高里历法字符串,并以"月份/日期/年" (month/day/year) 的字符串返回。格里高里历为教皇格梩高里十三世在公元 1582 年颁行的历法。
gregoriantojd
将格里高里历法转换成为凯撒日计数。
语法: int gregoriantojd(int month, int day, int year);
返回值: 整数
函数种类: 时间日期
内容说明 有效的范围为格里高里历法公元前 4714 年至公元 9999 年。这套软件能计算到公元前 4714 年,但这是不太有意义的。格里高里历在 1582 年 10 月 15 日施行,但一些欧洲国家到很久后才实行,如英国在 1752 年实行、苏联在 1918 年施行、希腊在 1923 年实行。大部份的欧洲国家优先使用凯撒历法,再次才是格里高里历法。
使用范例
jdtojulian
将凯撒日计数转换成为凯撒历法。
语法: string jdtojulian(int julianday);
返回值: 字符串
函数种类: 时间日期
内容说明
将凯撒历法的日期计数转换成为凯撒历法字符串,并以"月份/日期/年" (month/day/year) 的字符串返回。
juliantojd
将凯撒历法转换成为凯撒日计数。
语法: int juliantojd(int month, int day, int year);
返回值: 整数
函数种类: 时间日期
内容说明 有效的范围为凯撒历法公元前 4713 年至公元 9999 年。这套软件能计算到公元前 4713 年,但这是不太有意义的。凯撒历法是在公元前 46 年建立的,但一些细节等到公元 8 年才稳定下来。
jdtojewish
将凯撒日计数转换成为犹太历法。
语法: string jdtojewish(int julianday);
返回值: 字符串
函数种类: 时间日期
内容说明 将凯撒历法的日期计数转换成为犹太历法字符串,并以"月份/日期/年" (month/day/year) 的字符串返回。
jewishtojd
将犹太历法转换成为凯撒日计数。
语法: int jewishtojd(int month, int day, int year);
返回值: 整数
函数种类: 时间日期
内容说明 有效的范围为犹太历法公元前 3761 年起。犹太历法存在了数千年,但早期并没有公式化的开始月份计算法。每年的第一个月为首次观测到的新月。
jdtofrench
将凯撒日计数转换成为法国共和历法。
语法: string jdtofrench(int month, int day, int year);
返回值: 字符串
函数种类: 时间日期
内容说明 将凯撒历法的日期计数转换成为法国共和历法字符串,并以 "月份/日期/年" (month/day/year) 的字符串返回。
frenchtojd
将法国共和历法转换成为凯撒日计数。
语法: int frenchtojd(int month, int day, int year);
返回值: 整数
函数种类: 时间日期
内容说明 函数只能转换法国共和历元年到十四年,也就是格里高里历的 1792 年 9 月 22 日至 1806 年 9 月 22 日。
jdmonthname
返回月份名。
语法: string jdmonthname(int julianday, int mode);
返回值: 字符串
函数种类: 时间日期
内容说明 本函数返回指定历法的月份字符串。参数 mode 为历法名称,详见下表。 0格里高里历 (缩写)1格里高里历2凯撒历 (缩写)3凯撒历4犹太历5法国共和历
mode
代表义意
jddayofweek
返回日期在周几。
语法: mixed jddayofweek(int julianday, int mode);
返回值: 混合类型
函数种类: 时间日期
内容说明 本函数返回日期在当周的天数,返回值依 mode 值决定,详见下表
0返回周几为整数值 (0 为周日, 1 为周一... 余类推)1返回字符串为周几 (英文-格里高里历)2返回字符串为周几的缩写 (英文-格里高里历)
mode
代表义意
相关阅读 更多 +