php 日期时间处理函数小结

yipeiwu_com7年前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;
}

相关文章

完美实现GIF动画缩略图的php代码

完美实现GIF动画缩略图的php代码

下面通过一个取自CS警匪游戏的GIF动画来说明问题: GIF动画图片:old.gif 为了让问题更加清晰,我们先还原动画各帧: 选择一:用PHP中的Imagick模块:复制代码 代...

PHP IDE PHPStorm配置支持友好Laravel代码提示方法

PHP IDE PHPStorm配置支持友好Laravel代码提示方法

PHPStorm神器可以支持更友好的laravel框架代码提示(点击查看),只需要执行如下才做: 第一步:在项目的composer.json中添加如下一行 复制代码 代码如下: "req...

Apache实现Web Server负载均衡详解(不考虑Session版)

至少需三台服务器:服务器A:控制服务器服务器B和服务器C:实际执行服务器负载均衡原理:将访问服务器A的请求分发至服务器B和服务器C修改服务器A上apache的http.conf文件: 首...

php urlencode()与urldecode()函数字符编码原理详解

php urlencode()与urldecode()函数字符编码原理详解

其原理就是把中文字符转换为十六进制并按某种规则进行字符串组合,实现字符的编码与解编码,保证URL数据传递过程中字符的完整性和兼容性,主要讨论中文字符的编码情况。 一,FireFox浏览器...

浅谈使用PHP开发微信支付的流程

下面以PHP语言为例,对微信支付的开发流程进行一下说明。 1.获取订单信息 2.根据订单信息和支付相关的账号生成sign,并且生成支付参数 3.将支付参数信息POST到微信服务器,获取返...