PHP获取指定时间段之间的 年,月,天,时,分,秒
程序员文章站
2024-04-02 14:00:34
核心代码:
class utils {
/**
* format mysql datetime (yyyy-mm-dd hh:mm:ss) 把m...
核心代码:
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; } }
一年多一天,返回的是2年,一个月多一天返回的是2个月,以此推......项目需要,才做此出来,开始我也到网上找这样的例子,但大家都是把年就按365天来算,月就按30天来算,这样算出来的结果肯定是没用的,年有可能是366天,月有可能是31,29,28都有可能
上一篇: PHP类型约束用法示例
推荐阅读
-
PHP获取指定时间段之间的 年,月,天,时,分,秒
-
PHP获取指定时间段之间的 年,月,天,时,分,秒
-
PHP计算两个时间的差(秒 分 时 天 月 年)_PHP教程
-
PHP计算两个时间的差(秒 分 时 天 月 年)_PHP教程
-
PHP获取指定时间段其间的 年,月,天,时,分,秒
-
iOS-获取当前时间的年、月、日、时、分、秒 MaemoOPhoneAppleObjective-C黑莓
-
php获取指定日期的前一天,前一月,前一年日期
-
PHP获取指定时间段之间的 年,月,天,时,分,秒,php获取
-
PHP获取指定日期所在天,周,月,年的开始日期与结束日期
-
PHP获取指定时间段之间的 年,月,天,时,分,秒,php获取