2010-06-20 58 views
2

我該如何製作一條條件語句,如if date(「Y-m-d h:i:s」);在日期後超過30秒(「Y-m-d h:i:s」);.比較日期(「Y-m-d h:i:s」);

我以前使用過類似date(「Y-m-d h:i:s」); < date(「Y-m-d h:i:s」); + 30,但是這似乎不起作用。

幫助?

回答

10

使用strtotime()將它們轉換爲UNIX time

例如爲:

if(strtotime($date2) - strtotime($date1) > 30) { 
    // $date2 is more than 30 seconds after $date1 
} 

if(abs(strtotime($date2) - strtotime($date1)) > 30) { 
    // $dates are more than 30 second apart 
} 
1

使用unixtime,來代替。只需轉換你的日期(「Y-m-d h:i:s」);到目前爲止(「U」)或者僅僅是時間()。 strototime()可以幫助你。它顯示自Unix時代(1970年1月1日00:00:00 GMT)以來的秒數。然後,這種方法$ unixtime + 30也可以正常工作;)

2

使用strtotime()將兩個日期轉換爲unix時間戳,然後將所需的秒數添加到第二個並進行整數比較。

1

它看起來像你試圖比較數據庫日期字段(如mysql DATETIME)。使用數據庫系統日期和時間函數來比較日期值(如DATE_ADD()+以及簡單的<或MySQL中的>)。