php专区

 首页 > php专区 > PHP高级 > 日期 > PHP中比较两个时间的大小与日期的差值 - php日期

PHP中比较两个时间的大小与日期的差值 - php日期

分享到:
【字体:
导读:
          在这里我们全用到时间戳:mktime(hour,minute,second,month,day,year,[is_dst]).其参数可以从右向左省略,任何省略的参数都会被设置成本地日期和时间的当前值.参数 描述hour 可选,规定小时.minute......

PHP中比较两个时间的大小与日期的差值

在这里我们全用到时间戳:

mktime(hour,minute,second,month,day,year,[is_dst]).

其参数可以从右向左省略,任何省略的参数都会被设置成本地日期和时间的当前值.

参数 描述

hour 可选,规定小时.

minute 可选,规定分钟.

second 可选,规定秒.

month 可选,规定用数字表示的月.

day 可选,规定天.

year 可选,规定年,在某些系统上,合法值介于 1901 – 2038 之间,不过在 php 5 中已经不存在这个限制了.

is_dst 可选,如果时间在日光节约时间(dst)期间,则设置为1,否则设置为0,若未知,则设置为-1,自 5.1.0 起,is_dst 参数被废弃,因此应该使用新的时区处理特性.

在日常生活中我们要经常比较时间的早晚,对于我们来说判断时间的大小很简单,但是时间的比较不只是单纯的数字大小的比较,因此相对来说还是比较复杂,那么在php中通过什么方式来比较两个时间的大小呢?

要比较两个时间的大小,我们需要将时间转化为时间戳格式,然后再进行比较这是最常用的方法,常用到的函数是:strtotime().

语法格式:strtotime(time,now)

如果time是绝对时间,则now参数不起作用,如果time是相对时间,则相对应的参数则对应函数就是now来提供,如果没有提供now参数,那么相对应的时间就是当前的本地时间.

实例,比较两个绝对时间的大小,代码如下:

  1. $zero1=date(“y-m-d h:i:s”); 
  2. $zero2=”2010-11-29 21:07:00′; 
  3. echo “zero1的时间为:”.$zero1.”
    ”; 
  4. echo “zero2的时间为:”.$zero2.”
    ”; 
  5. if(strtotime($zero1)<strtotime($zero2)){ 
  6.  echo “zero1早于zero2′; 
  7. //开源软件:phpfensi.com 
  8. }else
  9.  echo “zero2早于zero1′; 
  10. ?> 
  11.  
  12. 输出结果: 
  13. zero1的时间为:2010-11-30 21:12:55 
  14. zero2的时间为:2010-11-29 21:07:00 
  15. zero2早于zero1 

注:可以根据实例发散思维,计算两个日期的差值,奥运会倒计时,亚运会倒计时,生日倒计时这些倒计时都可以通过计算两个日期的差值来实现,同样需要用到strottime()函数.

实现倒计时需要将两个时间的差值整数化,需要用到函数ceil(),ceil()函数的作用是求不小于给定实数的最小整数.

实例,倒计时小程序,实例代码:

  1. $zero1=strtotime (date(“y-m-d h:i:s”)); //当前时间 
  2. $zero2=strtotime (“2011-2-03 24:00:00′);  //过年时间 
  3. $guonian=ceil(($zero2-$zero1)/86400); //60s*60min*24h 
  4. echo “离过年还有$guonian天!”; 
  5. ?> 
  6. //输出结果: 
  7. //离过年还有66天! 

strtotime()函数解析

定义和用法

strtotime() 函数将任何英文文本的日期时间描述解析为 unix 时间戳。

语法:strtotime(time,now)

参数 描述

time 规定要解析的时间字符串.

now 用来计算返回值的时间戳,如果省略该参数,则使用当前时间.

说明:该函数预期接受一个包含美国英语日期格式的字符串并尝试将其解析为 unix 时间戳(自 january 1 1970 00:00:00 gmt 起的秒数),其值相对于 now 参数给出的时间,如果没有提供此参数,则用系统当前时间.

分享到:
PHP Date()日期时间函数详解 - php日期
PHP Date()日期时间函数详解 php date() 函数可把时间戳格式化为可读性更好的日期和时间. 语法:date(format,timestamp) 参数 描述 format 必需,规定时间戳的格式. timestamp 可选,规定时间戳,默认是当前的日期和时间. 要找出前一天的时间就是 time()-60*60*24; 要找出前一年的时间就是 ...
php中计算时间差的几种方法 - php日期
php中计算时间差的几种方法   在php中计算时间差有时候是件麻烦的事!不过只要你掌握了日期时间函数的用法那这些也就变的简单了:     一个简单的例子就是计算借书的天数,这需要php根据每天的日期进行计算,下面就来谈谈实现这种日期计算的几种方法:   (1) 如果有数据库就很容易了!若...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……