本文实例讲述了php实现比较两个字符串日期大小的方法。分享给大家供大家参考。具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<?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。
很多时候做搜索的时候,搜索的时间不能大于当前日期,比较函数的写法大致和上面一个函数相同,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
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程序设计有所帮助。