时间:2021-07-01 10:21:17 帮助过:27人阅读
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
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
php 如何加入即时推送的功能
php的双向队列代码
以上就是PHP将日期转换为JDE的儒日历格式的方法的详细内容,更多请关注Gxl网其它相关文章!