Maison > développement back-end > tutoriel php > Méthode PHP pour convertir la date au format de calendrier confucéen de JDE

Méthode PHP pour convertir la date au format de calendrier confucéen de JDE

不言
Libérer: 2023-04-02 12:54:01
original
2127 Les gens l'ont consulté

Cet article présente principalement la méthode de conversion des dates au format de calendrier confucéen de JDE en PHP. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer

Format de calendrier confucéen de JDE. . Les règles de format du calendrier sont les suivantes :

Le calendrier confucéen est un nombre à 6 chiffres (Exemple : 1er janvier 2018 => 118001)

Le premier chiffre indique le siècle (Exemple : 1 janvier 2018 => 118001)

Le premier chiffre indique le siècle ; : 1 indique le 21ème siècle ; 0 signifie le 20ème siècle) ; les deuxième et troisième chiffres de

représentent l'année (par exemple : 2018 est 18) ; le jour de l'année

La méthode est la suivante :

/**
 * 日期转换为 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;
}
Copier après la connexion

Cas de test :

<?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[&#39;year&#39;];
    #获取世纪标识 【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[&#39;yday&#39;] + 1;
    #如果不足三位数补足三位数
    $year_day = str_pad($year_day,3,0,STR_PAD_LEFT);
    #儒日历
    return $century.$year.$year_day;
}
echo getJdeDate(&#39;2018-01-01 00:00:00&#39;);
Copier après la connexion

Sortie :

118001
Copier après la connexion

Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'apprentissage de tout le monde. Aide, veuillez faire attention au site Web PHP chinois pour plus de contenu connexe !

Recommandations associées :

php Comment ajouter la fonction push instantané

code de file d'attente bidirectionnelle php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal