当前位置:Gxlcms > PHP教程 > PHP将日期转换为JDE的儒日历格式的方法

PHP将日期转换为JDE的儒日历格式的方法

时间:2021-07-01 10:21:17 帮助过:27人阅读

这篇文章主要介绍了关于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

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

php 如何加入即时推送的功能

php的双向队列代码

以上就是PHP将日期转换为JDE的儒日历格式的方法的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行