--------------------------------------------------------------------------------
歷法函式庫
--------------------------------------------------------------------------------
本函式庫共有 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 傳回字串為周幾的縮寫 (英文-格裡高裡歷)
(http://www.fanqiang.com)
進入【UNIX論壇】
|