关于时间计算的结总

yipeiwu_com7年前PHP代码库
php中计算时间差有时候是件很麻烦的事! 

不过我相信任何语言,只要撑握了其中规率就能找到办法,绝对是化腐朽为神奇的。 

工作中经常要进行日期计算,下面总结几个工作中总结出的经验。先记下免得日后会忘! 

1。第一种 计算时间段差(可以是分,秒,天) 

$endtime="2004-09-09 18:10:00"; 
$d1=substr($endtime,17,2); //秒 
$d2=substr($endtime,14,2); //分 
$d3=substr($endtime,11,2); // 时 
$d4=substr($endtime,8,2);  //日 
$d5=substr($endtime,5,2); //月 
$d6=substr($endtime,0,4); //年 

echo $d1.'-'.$d2.'-'.$d3.'-'.$d5.'-'.$d4.'-'.$d6."n"; 

echo date("Y-m-d H:i:s")."n"; 
$now_T=mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y"));  
echo $now_T."n"; 
$now_S=mktime("$d3","$d2","$d1","$d5","$d4","$d6"); 
echo $now_S."n"; 
 $end_TS=($now_S-$now_T)/60;   //计算  剩余分钟 
echo $end_TS; 
?>  

注 $startdate=mktime("0","0","0","1","1","2000");  
   //所得到的值为从1970-1-1到参数时间的总秒数 那么 化为分 /60   时 /3600   天/3600/24  即可!     

若mktime()中的参数缺省,那表示使用当前日期。 


2.  如果有数据库就很容易了!若是MSSQL可以使用触发器!用专门计算日期差的函数datediff()便可!  
若是MYSQL那就用两个日期字段的差值计算的计算结果保存在另一个数值型字段中!用时调用便可!

相关文章

PHP经典Redis操作类 调用方便,操作简单

/**  * redis操作类  * 说明,任何为false的串,存在redis中都是空串。  * 只有在key不存在时,才会返回fa...

学习php设计模式 php实现合成模式(composite)

学习php设计模式 php实现合成模式(composite)

一、意图 将对象组合成树形结构以表示”部分-整体”的层次结构。Composite使用户对单个对象和组合对象的使用具有一致性。 Composite变化的是一个对象的结构和组成。 二、合成模...

php环境无法上传文件的解决方法

一、 检查网站目录的权限。 上传目录是否有写入权限。二、 php.ini配置文件 php.ini中影响上传的有以下几处: file_uploads 是否开启 on 必须开启 是否允许HT...

php数组函数序列之array_search()- 按元素值返回键名

array_search()定义和用法 array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回...

fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法

一:近期黑客利用程序漏洞注入后使用 fsockopen 进行PHPDDOS 攻击,导致部分服务器不稳定,现在将危险函数 fsockopen 暂时禁用,部分程序功能可能有问题,以下列出已知...