Thinkphp的时间判断

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

  很简单,时间,不断使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 参数给出的时间,如果没有提供此参数,则用系统当前时间。

时间: 2024-10-22 02:39:56

Thinkphp的时间判断的相关文章

系统空闲时间判断&amp;命名验证

一.系统空闲时间判断 需要一个自动登录注销的功能,当鼠标移动和或者键盘输入的时候认为当前用户在线,否则过了设置时间就自动退出.好在前辈们留下了这样的一个类: MouseKeyBoardOperate: using System; using System.Runtime.InteropServices; namespace SCADA.RTDB.Framework.Helpers { /// <summary> /// Class MouseKeyBoardOperate /// </s

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

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

Java 时间判断谁前谁后

直奔主题: String date_str1 = "2016-06-02 23:03:123"; String date_str2 = "2016-06-03 03:03:993"; 上面的date_str1 和 date_str2 是一个字符串形式的时间 ,那么我们要来判断那个时间在前那个时间在后面 ,怎么来判断呢? 判断方法: 1.直观法:用眼睛看~~~~~,这是什么鬼 只要不是眼瞎都能看出来 date_str1在date_str2之前,还是不瞎扯了, 看下面的

一个特牛的日期时间判断正则表达式

这里是判断YYYY-MM-DD这种格式的,基本上把闰年和2月等的情况都考虑进去了,不过我已经忘了在哪里找到的. ^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6

根据输入时间判断年龄是否在18~68周岁之间

function ckBirthday(){ var thetime=tool.getEditerByName("<%=dwName%>","Birthday"); var time=thetime.value;//输入的时间1992-03-09 //字符串1993-03-09日期转为日期格式 var regEx = new RegExp("\\-","gi"); time=time.replace(regEx,&

thinkphp中怎么判断是手机端访问还是pc端访问?

1 function isMobile() 2 { 3 // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 4 if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) 5 return true; 6 7 // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息 8 if (isset ($_SERVER['HTTP_VIA'])) 9 { 10 // 找不到为flase,否则为true 11 return stristr($_SERV

Thinkphp的页面判断

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

thinkphp中session 判断

session判断 要判断一个session值是否已经设置,可以使用 session('?name'); 用于判断名称为name的session值是否已经设置相当于: isset($_SESSION['name']);

PHP开发过程中,消息发布时间判断

<?php header("Content-Type:text/html;charset=utf-8"); date_default_timezone_set('PRC'); //设置中国时区 //获取当前时间 $n = date("Y-m-d H:i:s"); $now = strtotime(date("Y-m-d H:i:s")); //插入时间 $nnow = "1493782514"; $nn = date(&