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

yipeiwu_com6年前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 new static 和 new self详解

PHP new static 和 new self详解

最近在一个视频的评论被问到一个小问题:这里选择用static 而不是self有特殊的考虑么?或者我们可以这样转换一下问题: PHP 的 new static 和 new self 具体有...

php中常用字符串处理代码片段整理

移除 HTML 标签 复制代码 代码如下: $text = strip_tags($input, ""); 上面的函数主要是使用了strip_tags,具体的使用说明参考。   返回...

PHP中call_user_func_array回调函数的用法示例

call_user_func_array call_user_func_array — 调用回调函数,并把一个数组参数作为回调函数的参数 mixed call_user_func_a...

PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台

复制代码 代码如下: //取得指定文件夹的目录名称 function get_dir_name($dir_path,$file) { $dirpath = $dir_path; $dir...

PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法

异常处理用于在指定的错误(异常)情况发生时改变脚本的正常流程。这种情况称为异常。 PHP 5 添加了类似于其它语言的异常处理模块。在 PHP 代码中所产生的异常可被 throw 语句抛出...