2013-03-14 162 views
0

我在數據庫中保存日期的這種方式:比較系統日期/時間插入日期/時間數據庫

(DROPDOWN)月(DROPDOWN)天(DROPDOWN)年

我有這樣在數據庫中保存時間:

(TEXTBOX)時間(DROPDOWN)AM/PM

那麼它將被保存在基本是這樣的:

+------------------+-----------+ 
|  date  | time | 
+------------------+-----------+ 
| January 1, 2013 | 4:00 PM | 
+------------------+-----------+ 
| January 6, 2013 | 9:00 AM | 
+------------------+-----------+ 

如何使用if語句將數據庫中的日期與計算機時間進行比較?

if ("date/time in database" == "date/time in computer") 
{ 
    echo "something stuff."; 
} 

在此先感謝。

+2

[whathaveyoutried.com(http://mattgemmell.com/2008/12/08/what-have-you-tried/) – Dharman 2013-03-14 15:17:25

回答

0

轉換日期的UNIX時間戳,然後比較:

if (strtotime($your-db-stored-date) == strtotime($now)) { 
    //doSomething; 
    } 

反正一定要保存使用適當的日期型數據庫中的...

0

沒有確切的答案,但它可以幫助你。 ..我使用這些函數將日期時間作爲UTC存儲在數據庫中,並在顯示時轉換爲服務器時間。它解釋了夏令時。

function convert_server_datetime_to_utc() { 
    return $gmdate = gmdate("Y-m-d H:i:s"); 
} 

function convert_utc_to_server_datetime($utc=false) { 
    if (empty($utc)){return false;} 
    $date = new DateTime($utc); 
    $hours_offset = date("Z")/60/60; 
    if(substr($hours_offset, 0, 1) == "-") { 
     $hours_offset = substr($hours_offset, 1); 
     $invert=1; 
    } 
    $offset = new DateInterval('PT'.$hours_offset.'H'); 
    if (!empty($invert)) {$offset->invert = 1;} 
    $date->add($offset); 
    return $date->format("Y-m-d H:i:s"); 
} 

echo "convert_datetime_to_utc(): " . $d = convert_server_datetime_to_utc(); 
echo "<hr>convert_utc_to_datetime(): " . convert_utc_to_server_datetime($d); 
0
$date_from_db = "January 1, 2013 4:00 PM"; //just concatenate the date and time from db 

if ($date_from_db == date('F j, Y h:i A')){ 
    echo "write your code"; 
} 

OR 

if (strtotime($date_from_db) == strtotime(date('F j, Y h:i A'))){ 
    echo "write your code"; 
}