叁柒設計 三七设计 Three seven design 我的学习与分享
详细信息
来自:关键字:

PHP4手册:函数库及函数(六) 历法函式库

  December 21th,2008 22:39:58   Category : PHP+Mysql
 Click (1043)

--------------------------------------------------------------------------------
 历法函式库 
--------------------------------------------------------------------------------
 


本函式库共有 10 个函式
想要使用历法函式库,需要先编译好 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() 
--------------------------------------------------------------------------------
 


历法函式库


JDToGregorian
将凯撒日计数 (Julian Day Count) 转换成为格里高里历法 (Gregorian date)。

语法: string jdtogregorian(int julianday);

传回值: 字串

函式种类: 时间日期


 
 
内容说明 


将凯撒历法的日期计数转换成为格里高里历法字串,并以"月份/日期/年" (month/day/year) 的字串传回。格里高里历为教皇格?高里十三世在西元 1582 年颁行的历法。


--------------------------------------------------------------------------------
 函式:GregorianToJD() 
--------------------------------------------------------------------------------
 


历法函式库


GregorianToJD
将格里高里历法转换成为凯撒日计数。

语法: int gregoriantojd(int month, int day, int year);

传回值: 整数

函式种类: 时间日期


 
 
内容说明 


有效的范围为格里高里历法西元前 4714 年至西元 9999 年。这套软体能计算到西元前 4714 年,但这是不太有意义的。格里高里历在 1582 年 10 月 15 日施行,但一些欧洲国家到很久后才实行,如英国在 1752 年实行、苏联在 1918 年施行、希腊在 1923 年实行。大部份的欧洲国家优先使用凯撒历法,再次才是格里高里历法。


 
 
使用范例 


$jd = GregorianToJD(10,11,1970);
echo("$jd\n");
$gregorian = JDToGregorian($jd);
echo("$gregorian\n");
?>


--------------------------------------------------------------------------------
 函式:JDToJulian() 
--------------------------------------------------------------------------------
 


历法函式库


JDToJulian
将凯撒日计数转换成为凯撒历法。

语法: string jdtojulian(int julianday);

传回值: 字串

函式种类: 时间日期


 
 
内容说明 


将凯撒历法的日期计数转换成为凯撒历法字串,并以"月份/日期/年" (month/day/year) 的字串传回。

--------------------------------------------------------------------------------
 函式:JulianToJD() 
--------------------------------------------------------------------------------
 


历法函式库


JulianToJD
将凯撒历法转换成为凯撒日计数。

语法: int juliantojd(int month, int day, int year);

传回值: 整数

函式种类: 时间日期


 
 
内容说明 


有效的范围为凯撒历法西元前 4713 年至西元 9999 年。这套软体能计算到西元前 4713 年,但这是不太有意义的。凯撒历法是在西元前 46 年建立的,但一些细节等到西元 8 年才稳定下来。


--------------------------------------------------------------------------------
 函式:JDToJewish() 
--------------------------------------------------------------------------------
 


历法函式库


JDToJewish
将凯撒日计数转换成为犹太历法。

语法: string jdtojewish(int julianday);

传回值: 字串

函式种类: 时间日期


 
 
内容说明 


将凯撒历法的日期计数转换成为犹太历法字串,并以"月份/日期/年" (month/day/year) 的字串传回。

--------------------------------------------------------------------------------
 函式:JewishToJD() 
--------------------------------------------------------------------------------
 


历法函式库


JewishToJD
将犹太历法转换成为凯撒日计数。

语法: int jewishtojd(int month, int day, int year);

传回值: 整数

函式种类: 时间日期


 
 
内容说明 


有效的范围为犹太历法西元前 3761 年起。犹太历法存在了数千年,但早期并没有公式化的开始月份计算法。每年的第一个月为首次观测到的新月。

--------------------------------------------------------------------------------
 函式:JDToFrench() 
--------------------------------------------------------------------------------
 


历法函式库


JDToFrench
将凯撒日计数转换成为法国共和历法。

语法: string jdtofrench(int month, int day, int year);

传回值: 字串

函式种类: 时间日期


 
 
内容说明 


将凯撒历法的日期计数转换成为法国共和历法字串,并以 "月份/日期/年" (month/day/year) 的字串传回。


--------------------------------------------------------------------------------
 函式:FrenchToJD() 
--------------------------------------------------------------------------------
 


历法函式库


FrenchToJD
将法国共和历法转换成为凯撒日计数。

语法: int frenchtojd(int month, int day, int year);

传回值: 整数

函式种类: 时间日期


 
 
内容说明 


函式只能转换法国共和历元年到十四年,也就是格里高里历的 1792 年 9 月 22 日至 1806 年 9 月 22 日。


--------------------------------------------------------------------------------
 函式:JDMonthName() 
--------------------------------------------------------------------------------
 


历法函式库


JDMonthName
传回月份名。

语法: string jdmonthname(int julianday, int mode);

传回值: 字串

函式种类: 时间日期


 
 
内容说明 


本函式传回指定历法的月份字串。参数 mode 为历法名称,详见下表。

Mode 代表义意 
0 格里高里历 (缩写) 
1 格里高里历 
2 凯撒历 (缩写) 
3 凯撒历 
4 犹太历 
5 法国共和历 


--------------------------------------------------------------------------------
 函式:JDDayOfWeek() 
--------------------------------------------------------------------------------
 


历法函式库


JDDayOfWeek
传回日期在周几。

语法: mixed jddayofweek(int julianday, int mode);

传回值: 混合型态

函式种类: 时间日期


 
 
内容说明 


本函式传回日期在当周的天数,传回值依 mode 值决定,详见下表。

Mode 代表义意 
0 传回周几为整数值 (0 为周日, 1 为周一... 余类推) 
1 传回字串为周几 (英文-格里高里历) 
2 传回字串为周几的缩写 (英文-格里高里历) 

[ 资讯评论 ]
暂时没有任何评论!
[ 提交评论 ]
请选择表情
  • 昵称:
  • *
  • 验证码:
  • *点击更换验证码
  • 尚能输入个字符
申明:本网站部分分享内容来自网络,如有侵权请及时与我联系,谢谢,另网友评论仅代表个人观点,与本站立场无关,如果在评论中发表违反我国任何法律的,请即时与我们联系(QQ:77132915),我们将立即予以删除. [ 注:提交评论后,通过审核后方能在网站上显示!]