この記事では主に、PHP で日付を JDE の儒暦形式に変換する方法を紹介します。一定の参考値がありますので、共有します。必要な友人は参考にしてください。
JDE の儒暦形式 暦形式の規則は次のとおりです:
儒教暦は 6 桁の数字です (例: 2018 年 1 月 1 日 => 118001)
最初の桁は世紀を示します (例) : 1 は 21 世紀を示し、0 は 20 世紀を示します);
2 番目と 3 番目の数字は年を表します (例: 2018 は 18);
最後の 3 桁は日を表します今年の;
メソッドは次のとおりです:
/** * 日期转换为 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
上記がこの内容全体です記事. 皆様の学習に役立つことを願っています. その他の関連コンテンツ PHP 中国語 Web サイトにご注意ください!
関連する推奨事項:
以上が日付を JDE の儒暦形式に変換する PHP メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。