2010-08-04 20 views
0

我想知道如何處理日期和時間,如果我們做任何網站,我們要求用戶創建像evite.com evetns。我的疑惑是,如果我在8月5日創建一個活動,然後邀請來自不同地方(事件國家以外)的200人蔘加,那麼evite會如何發送提醒,因爲在某些國家/地區的時間不同,即在某個國家/地區仍然是第四個在某些國家排名第五。另外,當我們進行任何時間計算時,服務器需要託管網站的時間,這是正確的方式,只是讓它像這樣?當我們創建基於事件的網站時,考慮什麼日期/時間?

請拋開一些光線。

關於

回答

2

服務器時間沒用。

對於未來事件,您可以選擇存儲形式「YYYY-MM-DD HH:MM:SS」事件的時間事件的時區(如「歐洲/里斯本」 )。不要存儲時間戳和時區,除非它是某種天文事件,其時間不取決於發生事件的國家/地區的法定時間,而是在某個絕對時間點。

然後,可以計算這樣的(例如)事件的時間:

//Let's say the event happens in Lisbon 
$d = new DateTime("2010-08-10 17:00:00", new DateTimeZone("Europe/Lisbon")); 
echo "The event occurs on ", $d->format("r"), " (local time)."; 
//let's say the user is in India 
$d2 = $d->setTimezone(new DateTimeZone("Asia/Calcutta")); 
echo "The event occurs on ", $d->format("r"), " (your time)."; 

進一步閱讀:Storing Date/Times in Databases

+0

嗨,謝謝。我會閱讀這篇文章,明天嘗試一下。謝謝,我希望我可以使用這些技術與我目前的設置。我從2010-08-02格式獲取用戶的日期,我需要了解如何根據筆記和文章操作,以便在世界各地顯示正確的活動日期。我使用這個日期,然後使用一些javscript來計算網頁上的天 - 小時差異,例如「事件將發生在3D4h10M中,我將不得不看看我是否需要修改幾件事情,但我再次感謝您的快速幫助。 – Jay 2010-08-04 05:17:33

0

在存儲之前將所有時間轉換爲GMT。這樣你就可以在整個地球上有一個共同的日期/時間。

您還需要讓您的成員指定他們所在的時區,以便您可以在正確的時間內爲他們顯示事件。

+0

這是不夠的。請參閱我已鏈接到的文章。 – Artefacto 2010-08-04 04:49:07

相關問題