2012-12-12 58 views
-1

我該如何去查看拍賣是否在我的數據庫中過期了?我在MySQL中有一個datetime列,我認爲它的格式如下:YYY-MM-DD hh:mm:ss。如果是這種情況將下面的檢查工作 - 即希望從數據庫中的表只選擇過期拍賣...日期時間格式檢查php

<?php 

//Some code  

$auctioncheck = mysql_query(" 

SELECT * FROM auction WHERE ($date_time > finish_time) 

"); 

?> 

雖然「結束時間」是在上述引用格式的數據庫中的列。假定這個工程實際上是如何將當前日期變成相同格式的?如果有人知道我會非常感激的歡呼聲。更重要的是,如果上述查詢不起作用並且需要其他東西。再次感謝。

哦,當然,我會定義DATE_TIME變量入手

+0

可以粘貼'$ date_time'的值嗎? – GBD

+0

對不起,我還沒有測試過它。因爲我不確定如何生成$ date_time(當前時間)以開始。任何想法? – Roy

+0

SO上有很多類似的問題。 –

回答

0

該解決方案:

// to show both date and time, 
$date->get('YYYY-MM-dd HH:mm:ss'); 

// or, to show date only 
$date->get('YYYY-MM-dd') 

是從這個帖子:PHP Zend date format

,這裏是另一種解決方案:how to format a Date in MM/dd/yyyy HH:mm:ss format in javascript?

並在php中做: How to get the current date and time in PHP?

+0

非常感謝我會看到查詢是否在此基礎上工作。你有預感嗎?我的意思是,你通常可以通過使用「>」來查看哪兩個日期是「更大」(更近的)。 – Roy

+0

在大於號的旁邊,您需要比較的格式相同。 http://stackoverflow.com/questions/6370538/php-greater-than-certain-time。如果我的解決方案適合您,請接受。 – iOSAndroidWindowsMobileAppsDev

+0

無需使用Zend框架來獲取日期,PHP的本地函數就足夠了;) –

0

功能date爲它製作:

// Get the current date 
$date_time = date("y-m-d H:i:s"); 

查看文檔首頁去看看其他格式標誌;)

+0

我已經把它使用,但小時是一個小時顯示是一小時前。可能導致這種差異的原因是什麼? – Roy

+0

這給你的時間在你的服務器的時區。也許你的本地時間是不同的。請注意,如果您比較時間,則必須在同一時區比較時間。我建議使用數據庫服務器的時區。 –

+0

這是一個普通的問題,至少我已經足夠誠實地向那些向其他職位提出要求的人提交堆棧溢出,而不是假裝成一個「大師」,如果我仔細觀察,我會發現你只是簡單地複製和粘貼。爲什麼要努力破壞他人的努力? – iOSAndroidWindowsMobileAppsDev

1

您可以使用

<?php 

//Some code  
$date_time=strtotime($date_time); 
$auctioncheck = mysql_query(" 

SELECT * FROM auction WHERE ($date_time > UNIX_TIMESTAMP(finish_time)) 

"); 

?> 
+0

我希望這可以用於我們發送給查詢的任何日期格式 – user1259132

2

你確實有必要的$date_time變量?最簡單的方法是SELECT * FROM auction WHERE finish_time < NOW()。這樣你就可以得到你的結果,而不必從PHP設置日期。