簡體   English   中英

php日期少於另一個日期

[英]php date less than another date

給定這種日期對象date("m/d/Y", strtotime($numerical." ".$day." of ".date("F")))

例如,它可以給出mm / dd / yyyy日,即“8月的第一個星期一”

如何確定此日期是否大於,小於或等於今天的日期?

我需要一個以這種格式工作的now()方法,可以在日期對象之間進行比較

我還沒有嘗試過date()<date()。 但我認為這不會起作用

任何有識之士

我一開始誤解了你的問題。 您沒有像所說的那樣在比較中使用日期對象 ,而是日期的字符串表示(由date創建)。

將日期的幾乎所有字符串表示與當前時間進行比較很容易:

$now = time();
$date = '2015/03/12'; #could be (almost) any string date

if (strtotime($date) > $now) {
    #$date occurs in the future
} else {
    #$date occurs now or in the past
}

將日期字符串與當前日期進行比較只是稍微復雜一些。 這是一種方法:

$today_start = strtotime('today');
$today_end = strtotime('tomorrow');
$date = '2015/03/12'; #could be (almost) any string date

$date_timestamp = strtotime($date);

if ($date_timestamp >= $today_end) {
    #$date occurs after today
} elseif ($date_timestamp < $today_start) {
    #$date occurs before today
} else {
    #$date occurs today
}

而不是使用time將當前時間縮短到第二個,您計算今天兩個午夜時間戳的時間戳。 然后你比較那些。

有更聰明的方法可以做到這一點(例如比較日期和今天的YYYY/MM/DD表示),但這個例子很好地構建了第一個。

比較時間戳:

if (strtotime($numerical." ".$day." of ".date("F")) < time()) {
    // older
} else {
    // newer
}

這是可能的,因為strtotime()返回自1.1.1970和time()以來的秒數。 在PHP中,您可以輕松地比較整數...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM