2012-09-28 47 views
0

我正在製作一個顯示錶格中某些信息的頁面,並且我希望該表格在夜間條目上具有較暗的背景。如何使用php測試mysql時間戳是否在白天(8:00到20:00之間)?

我在想是這樣的:

if (($timestamp < strtotime('2012-02-16 20:00:00') && ($timestamp > strtotime('2012-02-16 08:00:00')){} 

但我希望所有這一年運作24/7。我如何在任何日期製作日期(* - * - *)?

+0

如果您的目標是全球性的,您可能希望得到世界上任何地方的日光計算器課程/數據庫或日光日曆。這樣你就可以檢查服務器的當前時間,並確定它的背景應該是多麼黑暗,是否應該有星星等等。甚至可以諮詢一些天氣API(這可能不是一個好主意),並且也可以添加一些雲;) :) –

回答

4

不知道什麼格式$timestamp是的,但如果它在Unix時間戳格式(紀元秒),你可以這樣做:

$hour = date('H', $timestamp); 
if ($hour >= 8 && $hour < 20) 

如果它不是在Unix時間戳格式,也許你可以使它這樣在您的查詢中,使用UNIX_TIMESTAMP()函數。

+0

這將限制它到一個小時。如果你還需要幾分鐘呢? – Peon

+0

OP問8到20之間。他沒有要求分鐘。 – Travesty3

+0

'20:00:00',這次確實包括分鐘,儘管它們現在爲0;) – Peon

1
$curtime = date('G', $timestamp); 
if ($curtime >= 8 && $curtime <= 20) 
{ 
    //do whatever 
} 

我建議你上date()

0

使用讀了也可以用mktime()功能,使時間戳。

例如,今天晚上8點:

$mktime = mktime(20, 0, 0, date(n), date(j), date(Y)); 
0

也許你可以格式化日期只有個小時的組件如

INT(日期( 'H',$時間戳))

和測試這個值