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

这篇文章主要介绍了php实现比较两个字符串日期大小的方法,涉及php日期操作的相关技巧,需要的朋友可以参考下,本文实例讲述了php实现比较两个字符串日期大小的方法,分享给大家供大家参考,具体如下:

  1. <?php
  2. function dateBDate($date1, $date2) {
  3. // 日期1是否大于日期2
  4. $month1 = date("m", strtotime($date1));
  5. $month2 = date("m", strtotime($date2));
  6. $day1 = date("d", strtotime($date1));
  7. $day2 = date("d", strtotime($date2));
  8. $year1 = date("Y", strtotime($date1));
  9. $year2 = date("Y", strtotime($date2));
  10. $from = mktime(0, 0, 0, $month1, $day1, $year1);
  11. $to = mktime(0, 0, 0, $month2, $day2, $year2);
  12. if ($from > $to) {
  13. return true;
  14. } else {
  15. return false;
  16. }
  17. }
  18. ?>
  19. $date1 = "2009-10-13";
  20. $date= mktime(0, 0, 0, date("m", strtotime($date1)), date("d", strtotime($date1)), date("Y", strtotime($date1)));

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

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

  1. function dateBCurrent($date){
  2. //日期是否大于当前日期
  3. $currentDate=date("Y-m-d");
  4. //获取当前日期
  5. $cYear=date("Y",strtotime($currentDate));
  6. $cMonth=date("m",strtotime($currentDate));
  7. $cDay=date("d",strtotime($currentDate));
  8. $year=date("Y",strtotime($date));
  9. $month=date("m",strtotime($date));
  10. $day=date("d",strtotime($date));
  11. $currentUnix=mktime(0,0,0,$cMonth,$cDay,$cYear);
  12. //当前日期的 Unix 时间戳
  13. $dateUnix=mktime(0,0,0,$month,$day,$year);
  14. //待比较日期的 Unix 时间戳
  15. if($dateUnix<=$currentUnix){
  16. return true;
  17. }else{
  18. return false;
  19. }
  20. }