PHP实现时间比较和时间差计算的方法示例
author:一佰互联 2019-04-25   click:147

本文实例讲述了PHP实现时间比较和时间差计算的方法。分享给大家供大家参考,具体如下:

示例1:

<?php
//PHP时间比较和时间差计算:
//(1).比较两个绝对时间的大小
header("Content-type: text/html; charset=utf-8");
date_default_timezone_set("PRC");
$zero1=date("Y-m-d h:i:s");
//$zero1="2010-11-29 21:07:00";
$zero2="2010-11-29 21:07:00";
echo "zero1的时间为:".$zero1."<br>";
echo "zero2的时间为:".$zero2."<br>";
// strtotime — 将任何英文文本的日期时间描述解析为 Unix 时间戳
if(strtotime($zero1)<strtotime($zero2)){
 echo "zero1早于zero2";
}else if(strtotime($zero1)>strtotime($zero2)){
 echo "zero2早于zero1";
}else{
 echo "zero2等于zero1";
}
echo "<br/><br/>";
?>

运行结果:

zero1的时间为:2017-07-24 12:18:39
zero2的时间为:2010-11-29 21:07:00
zero2早于zero1

示例2:

<?php
//(2).倒计时小程序
$zero1=strtotime (date("y-m-d h:i:s")); //当前时间 ,注意H 是24小时 h是12小时
$zero2=strtotime ("2018-1-1 00:00:00"); //过年时间
//float ceil ( float $value )
//返回不小于 value 的下一个整数,value 如果有小数部分则进一位。
$guonian=ceil(($zero2-$zero1)/86400); //60s*60min*24h
echo "离过年还有<strong>$guonian</strong>天!";
echo "<br/><br/>";
?>

运行结果:

离过年还有161天

示例3:

<?php
//(3).PHP计算两个时间差的方法
$startdate=date("y-m-d H:i:s");
$enddate="2017-7-30 18:00:00";
// floor — 舍去法取整
// float floor ( float $value )
// 返回不大于 value 的最接近的整数,舍去小数部分取整。
$date=floor((strtotime($enddate)-strtotime($startdate))/86400);
$hour=floor((strtotime($enddate)-strtotime($startdate))%86400/3600);
$minute=floor((strtotime($enddate)-strtotime($startdate))%86400/60);
$second=floor((strtotime($enddate)-strtotime($startdate))%86400%60);
echo "现在距结束时间还有".$date."天".$hour."小时".$minute."分钟".$second."秒";
echo "<br/><br/>";
?>

运行结果:

现在距结束时间还有6天5小时339分钟56秒

PS:这里再为大家推荐几款时间及日期相关工具供大家参考使用:

在线日期/天数计算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi

在线日期计算器/相差天数计算器:
http://tools.jb51.net/jisuanqi/datecalc

在线日期天数差计算器:
http://tools.jb51.net/jisuanqi/onlinedatejsq

Unix时间戳(timestamp)转换工具:
http://tools.jb51.net/code/unixtime

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《PHP数组(Array)操作技巧大全》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。