这篇文章主要介绍了关于php将日期转换为jde的儒日历格式的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
JDE的儒日历格式规则如下:
儒日历是 6位数 ; (例: 2018年1月1 号 =》 118001)
第一位 表示 世纪(例: 1表示21世纪 ;0表示20世纪);
第二三位表示 年份 (例:比如2018年 为 18 );
立即学习“PHP免费学习笔记(深入)”;
后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将日期转换为JDE的儒日历格式的方法的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号