php 日期时间处理函数小结

php 日期时间处理函数小结

php 计算小时数并化整为零

复制代码 代码如下:

/* Author: 杨宇 yangyu@sina.cn */

//参数$hours_min为数组,数组的格式为1:10,返回为1小时

/*

例如:

$hours_min[0] = '1:10';

$hours_min[1] = '2:30';

echo hours_sum($hours_min);

输入为4,也就是合计4小时

*/

function hours_sum($hours_min){

if (!is_array($hours_min)) return false;

$tmp_arr = array();

foreach ($hours_min as $v){

$tmp_arr = explode(':',$v);

$hour[] = $tmp_arr[0];

$min[] = $tmp_arr[1];

}

$hours = array_sum($hour);

$mins = array_sum($min);

$mins = $mins >= 10 ? str_pad($mins, 2, 0, STR_PAD_RIGHT) : $mins;

$hours += floor($mins/60);

$hours += $mins%60 >= 30 ? 1 : 0;

return $hours;

}

将日期转化为星期

复制代码 代码如下:

/* Author: 杨宇 <yangyu@sina.cn> */

//输入的$data参数为,yy/mm/dd 或者 yy-mm-dd,返回星期几

function getWeekDay($date) {

$date = str_replace('/','-',$date);

$dateArr = explode("-", $date);

return date("N", mktime(0,0,0,$dateArr[1],$dateArr[2],$dateArr[0]));

}

PHP将秒转化成小时和分(格式为 ** 小时 ** 分)

复制代码 代码如下:

/* Author: 杨宇 <yangyu@sina.cn> */

//将秒(非时间戳)转化成 ** 小时 ** 分

function sec2time($sec){

$sec = round($sec/60);

if ($sec >= 60){

$hour = floor($sec/60);

$min = $sec%60;

$res = $hour.' 小时 ';

$min != 0 && $res .= $min.' 分';

}else{

$res = $sec.' 分钟';

}

return $res;

}