這篇文章主要介紹了關於PHP將日期轉換為JDE的儒日曆格式的方法,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
JDE的儒日曆格式規則如下:
儒日曆是 6位元 ; (例: 2018年1月1 號 =》 118001)
第一位 表示 世紀(例: 1表示21世紀 ;0表示20世紀);
第二三位表示 年份 (例:比如2018年 為 18 );
後3位表示 1年的第多少天 ;
方法如下:
/** * 日期轉換為 Jde 儒日曆 【支援時間轉換範圍:1970 - 2999年】 * 【六位: 第一位標識 世紀 例: 0表示20世紀,1表示21世紀,第二、三位表示年,最後三位表示本年的第幾天】 * 例:2018-01-01 =》 118001 * @param $date * @return string */function getJdeDate($date){ #轉換為時間戳記 $unix_time = strtotime($date); #擷取時間資訊 $ary_date = getdate($unix_time); #擷取年 $str_year = $ary_date['year']; #擷取世紀標識 【20世紀 => 0; 21世紀 => 1; 22世紀 => 2】 #如果年/100有餘數 if($str_year%100) { $century = ceil($str_year/100)%10; #向上取整 } else { $century = floor($str_year/100)%10; #向下取整 } #擷取年後兩位 $year = substr($str_year,2); #擷取一年中的第幾天 $year_day = $ary_date['yday'] + 1; #如果不足三位元補足三位元 $year_day = str_pad($year_day,3,0,STR_PAD_LEFT); #儒日曆 return $century.$year.$year_day;}
測試案例:
<?php/** * 日期轉換為 Jde 儒日曆 【支援時間轉換範圍:1970 - 2999年】 * 【六位: 第一位標識 世紀 例: 0表示20世紀,1表示21世紀,第二、三位表示年,最後三位表示本年的第幾天】 * 例:2018-01-01 =》 118001 * @param $date * @return string */function getJdeDate($date){ #轉換為時間戳記 $unix_time = strtotime($date); #擷取時間資訊 $ary_date = getdate($unix_time); #擷取年 $str_year = $ary_date['year']; #擷取世紀標識 【20世紀 => 0; 21世紀 => 1; 22世紀 => 2】 #如果年/100有餘數 if($str_year%100) { $century = ceil($str_year/100)%10; #向上取整 } else { $century = floor($str_year/100)%10; #向下取整 } #擷取年後兩位 $year = substr($str_year,2); #擷取一年中的第幾天 $year_day = $ary_date['yday'] + 1; #如果不足三位元補足三位元 $year_day = str_pad($year_day,3,0,STR_PAD_LEFT); #儒日曆 return $century.$year.$year_day;}echo getJdeDate('2018-01-01 00:00:00');
輸出:
118001
以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!