php实现比较两个字符串日期大小的方法

yipeiwu_com5年前PHP代码库

本文实例讲述了php实现比较两个字符串日期大小的方法。分享给大家供大家参考。具体如下:

<?php
function dateBDate($date1, $date2) {
// 日期1是否大于日期2
 $month1 = date("m", strtotime($date1));
 $month2 = date("m", strtotime($date2));
 $day1 = date("d", strtotime($date1));
 $day2 = date("d", strtotime($date2));
 $year1 = date("Y", strtotime($date1));
 $year2 = date("Y", strtotime($date2));
 $from = mktime(0, 0, 0, $month1, $day1, $year1);
 $to = mktime(0, 0, 0, $month2, $day2, $year2);
 if ($from > $to) {
 return true;
 } else {
 return false;
 } 
} 
?>
$date1 = "2009-10-13";
$date= mktime(0, 0, 0, date("m", strtotime($date1)), date("d", strtotime($date1)), date("Y", strtotime($date1)));

最终取得一个日期的 Unix 时间戳$date=1255392000。

很多时候做搜索的时候,搜索的时间不能大于当前日期,比较函数的写法大致和上面一个函数相同,具体如下:

function dateBCurrent($date){
//日期是否大于当前日期
 $currentDate=date("Y-m-d");
 //获取当前日期
 $cYear=date("Y",strtotime($currentDate));
 $cMonth=date("m",strtotime($currentDate));
 $cDay=date("d",strtotime($currentDate));
 $year=date("Y",strtotime($date));
 $month=date("m",strtotime($date));
 $day=date("d",strtotime($date));
 $currentUnix=mktime(0,0,0,$cMonth,$cDay,$cYear);
 //当前日期的 Unix 时间戳
 $dateUnix=mktime(0,0,0,$month,$day,$year);
 //待比较日期的 Unix 时间戳
 if($dateUnix<=$currentUnix){
 return true;
 }else{
 return false;
 }
}

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

相关文章

PHP合并数组的2种方法小结

前言 在此前合并数组我一直用的是array_merge()这个函数,但最近我在换工作的时候遇到一道合并数组的面试题,我当时想的是将两个数组先转化为字符串,合并后再转化为数组输出,面试官说...

Zend framework处理一个http请求的流程分析

Zend framework处理一个http请求的流程分析

  1, 首先是bootstrap过程,初始化程序里用到的资源 2, 创建一个Zend_Controller_Front实体,实现front controller模式,这个实...

Php中文件下载功能实现超详细流程分析

Php中文件下载功能实现超详细流程分析

客户端从服务端下载文件的流程分析: 浏览器发送一个请求,请求访问服务器中的某个网页(如:down.php),该网页的代码如下。 服务器接受到该请求以后,马上运行该down.php文件 运...

PHP 实现公历日期与农历日期的互转换

PHP 实现公历日期与农历日期的互转换 前言:  今天根据客户的需求对时间进行了转换,就是客户要求增加农历日期的显示,在网上抄袭了一段,稍微修改了一下运行成功了,不难的,改动的...

用PHP的反射实现委托模式的讲解

委托模式是软件设计模式中的一项基本技巧。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。委托模式是一项基本技巧,许多其他的模式,如状态模式、策略模...