Le frontal transmet deux formats d'heure standard, le format est du type 2009-05-12 12:12:30, puis renvoie la représentation des différentes unités de cette période de temps selon les besoins. Je n'ai pas posté le code ici. la vérification du format de l'heure, pensez donc à ajouter
code principal lorsque vous l'utilisez :
Class Utils { /** * format MySQL DateTime (YYYY-MM-DD hh:mm:ss) 把mysql中查找出来的数据格式转换成时间秒数 * @param string $datetime */ public function fmDatetime($datetime) { $year = substr($datetime,0,4); $month = substr($datetime,5,2); $day = substr($datetime,8,2); $hour = substr($datetime,11,2); $min = substr($datetime,14,2); $sec = substr($datetime,17,2); return mktime($hour,$min,$sec,$month,$day,0+$year); } /** * * 根据俩个时间获取俩个时间的 包含的 年,月数,天数,小时,分钟,秒 * @param String $start * @param String $end * @return ArrayObject */ private function diffDateTime($DateStart,$DateEnd){ $rs = array(); $sYear = substr($DateStart,0,4); $eYear = substr($DateEnd,0,4); $sMonth = substr($DateStart,5,2); $eMonth = substr($DateEnd,5,2); $sDay = substr($DateStart,8,2); $eDay = substr($DateEnd,8,2); $startTime = $this->fmDatetime($DateStart); $endTime = $this->fmDatetime($DateEnd); $dis = $endTime-$startTime;//得到俩个时间的秒数 $d = ceil($dis/(24*60*60));//得到天数 $rs['day'] = $d;//天数 $rs['hour'] = ceil($dis/(60*60));//小时 $rs['minute'] = ceil($dis/60);//分钟 $rs['second'] = $dis;//秒数 $rs['week'] = ceil($d/7);//周 $tem = ($eYear-$sYear)*12;//月份 $tem1 = $eYear-$sYear;//年 if($eMonth-$sMonth<0){//月份相减为负 $tem +=($eMonth-$sMonth); }else if($eMonth==$sMonth){//月份相同 if($eDay-$sDay>=0){ $tem ++; $tem1++; } }else if($eMonth-$sMonth>0){//月份相减正负 $tem1++; if($eDay-$sDay>=0){//且日期相减为正数 $tem +=($eMonth-$sMonth)+1; }else{ $tem +=($eMonth-$sMonth); } } $rs['month'] = $tem; $rs['year'] = $tem1; return $rs; } }
Un jour de plus dans un par an, la valeur renvoyée est de 2 ans , la valeur de retour d'un jour plus d'un mois est de 2 mois, donc... J'ai fait cela à cause des besoins du projet. Au début, j'ai aussi cherché de tels exemples sur Internet, mais tout le monde. utilisé l'année comme calcul de 365 jours, le mois est calculé sur la base de 30 jours, le résultat calculé de cette manière est définitivement inutile. L'année peut être de 366 jours, le mois peut être de 31, 29 ou 28
Résumé : Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun. Recommandations associées :Comment PHP convertit le contenu de la zone de texte au format HTML
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!