PHP实现时间比较和时间差计算的方法示例

yipeiwu_com7年前PHP代码库

本文实例讲述了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程序设计有所帮助。

相关文章

总结PHP删除字符串最后一个字符的三种方法

一、前言 从数据库中select()读取一对多的信息时,经常需要将取出的数组用某个特定的字符分割,然后拼接成字符串。 常见的语法格式: foreach ($arr as $key...

PHP学习笔记 用户注册模块用户类以及验证码类

所以,把第一章,可重用类的代码贴出来,便于以后查阅以及供给有需要的朋友。 :User类,包括读取和设置数据库,以及保存更改交互 复制代码 代码如下: <?php class Use...

php session的锁和并发

本文分享PHP的session在使用过程中的锁和并发的问题,与之相关的现象有请求阻塞、session数据丢失、session数据读不到。 我登录不了了 某天,我准备登录我们一个后台系统,...

php过滤所有的空白字符(空格、全角空格、换行等)

在php中自带的trim函数只能替换左右两端的空格,感觉在有些情况下不怎么好使,如果要将一个字符串中所有空白字符过滤掉(空格、全角空格、换行等),那么我们可以自己写一个过滤函数。 php...

PHP面向对象学习笔记之二 生成对象的设计模式

PHP面向对象学习笔记之二 生成对象的设计模式

一. 单例模式(Singleton) 如果应用程序每次包含且仅包含一个对象,那么这个对象就是一单例. 用来替代全局变量. 复制代码 代码如下: <?php require_once...