在做项目的过程中,非常频繁地遇到时间这个问题,像时间的比较,特定时间执行某一操作,但是现在只解决了一部分问题,先说明一下时间的判断问题。

  很简单,时间,不断使date(),now(),都是字符串类型的,不能直接进行比较,需要对它进行转换成int型,这里用到了一个函数——strtotime(),用于将date()转换成int。

语法格式:strtotime(time,now)
     如果time是绝对时间,则now参数不起作用
     如果time是相对时间,则相对应的参数则对应函数就是now来提供,如果没有提供now参数,那么相对应的时间就是当前的本地时间。

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

<?php
$zero1=date(“y-m-d h:i:s”);
$zero2=”2010-11-29 21:07:00′;
echo “zero1的时间为:”.$zero1.”<br>”;
echo “zero2的时间为:”.$zero2.”<br>”;
if(strtotime($zero1)<strtotime($zero2)){
echo “zero1早于zero2′;
}else{
echo “zero2早于zero1′;
}
?>

输出结果:
 zero1的时间为:2010-11-30 21:12:55
 zero2的时间为:2010-11-29 21:07:00
 zero2早于zero1

计算两个日期的差值
     奥运会倒计时,亚运会倒计时,生日倒计时这些倒计时都可以通过计算两个日期的差值来实现,同样需要用到strottime()函数。
     实现倒计时需要将两个时间的差值整数化,需要用到函数ceil()
     ceil()函数的作用是求不小于给定实数的最小整数

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

<?php
$zero1=strtotime (date(“y-m-d h:i:s”)); //当前时间
$zero2=strtotime (“2011-2-03 24:00:00′); //过年时间
$guonian=ceil(($zero2-$zero1)/86400); //60s*60min*24h
echo “离过年还有<strong>$guonian</strong>天!”;
?>

输出结果:
 离过年还有66天!

strtotime()函数解析

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

语法
 strtotime(time,now)参数 描述
 time 规定要解析的时间字符串。
 now 用来计算返回值的时间戳。如果省略该参数,则使用当前时间。

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

Thinkphp的时间判断的更多相关文章

  1. 关于IE11版本下JS中时间判断的问题

    最近在做代码的优化及浏览器的兼容问题.遇到了谷歌.火狐.360兼容模式.IE(8以上)版本对时间判断大小的问题 . 在谷歌.火狐.360.IE11以下IE8以上版本下 var d1="201 ...

  2. 系统空闲时间判断&命名验证

    一.系统空闲时间判断 需要一个自动登录注销的功能,当鼠标移动和或者键盘输入的时候认为当前用户在线,否则过了设置时间就自动退出.好在前辈们留下了这样的一个类: MouseKeyBoardOperate: ...

  3. linq和lamda表达式中添加时间判断时解决方案

    在工作中遇到个问题,在使用lamda查询数据的时候,需要添加一个时间判断, DateTime.AddDays(3) > e.ExpirationDate 例如:list = Context.Vo ...

  4. 关于ThinkPHP执行长时间任务可能导致PHP使用内存越来越大的问题

    ThinkPHP执行长时间任务时,可能导致PHP使用内存越来越大,最后因为内存超出配置限额而程序挂掉. 其实这在很久以前就无意之中发现的一个问题. 3.x之前有这个问题,5.0以后的,应该是已修复了的 ...

  5. Java丨时间判断谁前谁后

    直奔主题: String date_str1 = "2016-06-02 23:03:123"; String date_str2 = "2016-06-03 03:03 ...

  6. android/java 根据当前时间判断股票交易状态(未开盘 交易中 休市中 已收盘)

    /** * @param data yyyy-MM-dd HH:mm:ss 时间 * @return 未开盘 交易中 休市中 已收盘 */ public static String getSotckS ...

  7. 监听Activity进入后台(最小化),并根据时间判断是否超时,此解决办法可用于超时重登陆

    通过重写一个继承自Activity的基类中的onUserLeaveHint()方法,当用户按Home键等操作使程序进入后台时即开始计时,当用户使程序恢复为前台显示时执行onResume()方法,在其中 ...

  8. Thinkphp的页面判断

    目前在做的系统中,涉及到了前端页面的判断,比如性别在数据库中存储为0或1,而页面显示应该为“男”或“女”,这里就需要用到页面判断. 比如, <volist name="st" ...

  9. thinkphp关于时间加减几天

    1.当前时间,往后退5天: date('Y-m-d H:i:s',strtotime('-1 days')); 2.有固定时间,往后面退一天或者七天,或者30天: 比如时间:$time = 2014- ...

随机推荐

  1. asp.net文件操作类

    /** 文件操作类 **/ #region 引用命名空间 using System; using System.Collections.Generic; using System.Text; usin ...

  2. VS2010中查询替换使用

    MSDN:http://msdn.microsoft.com/zh-cn/library/afy96z92.aspx 例子:

  3. HDU 1038 - Biker's Trip Odometer

    算一下路程和速度... #include <iostream> #include <cstdio> using namespace std; const double p=3. ...

  4. vim命令杂记

    vim 实用命令. . . 命令重复上一次修改动作 >G 增加当前行到文档末尾处的缩进 C 相当于c$,更改当前位置 至 行尾的单词 S 相当于^c , 更改一行 : 重复上次的f命令所查找的字 ...

  5. your local changes would be overwritten by merge. commit stash or revert them to proceed. view them

    error log: your local changes would be overwritten by merge. commit stash or revert them to proceed. ...

  6. Zabbix监控Linux主机设置

          说明: Zabbix监控服务端已经配置完成,现在要使用Zabbix对Linux主机进行监控. 具体操作: 以下操作在被监控的Linux主机进行,这里以CentOS 6.x系统为例. 一.配 ...

  7. oc @property参数

  8. 使用 Node.js 做 Function Test

    Info 上周 meeting 上同事说他们现在在用 java 写 function test,产生了很多冗余的代码,整个项目也变得比较臃肿.现在迫切需要个简单的模板项目能快速搭建function t ...

  9. centos 6.5安装GitLab全过程和问题记录

    GitLab,是一个使用 Ruby on Rails 开发的开源应用程序,与Github类似,能够浏览源代码,管理缺陷和注释,非常适合在团队内部使用. 官方只提供了Debian/Ubuntu系统下的安 ...

  10. aix Mysql-Rpm puppet puppetAgent

    http://www.bullfreeware.com/toolbox.php   (Large Open Source Software Archieve for AIX 提供MySQL5.1 fo ...