我想知道如何處理日期和時間,如果我們做任何網站,我們要求用戶創建像evite.com evetns。我的疑惑是,如果我在8月5日創建一個活動,然後邀請來自不同地方(事件國家以外)的200人蔘加,那麼evite會如何發送提醒,因爲在某些國家/地區的時間不同,即在某個國家/地區仍然是第四個在某些國家排名第五。另外,當我們進行任何時間計算時,服務器需要託管網站的時間,這是正確的方式,只是讓它像這樣?當我們創建基於事件的網站時,考慮什麼日期/時間?
請拋開一些光線。
關於
我想知道如何處理日期和時間,如果我們做任何網站,我們要求用戶創建像evite.com evetns。我的疑惑是,如果我在8月5日創建一個活動,然後邀請來自不同地方(事件國家以外)的200人蔘加,那麼evite會如何發送提醒,因爲在某些國家/地區的時間不同,即在某個國家/地區仍然是第四個在某些國家排名第五。另外,當我們進行任何時間計算時,服務器需要託管網站的時間,這是正確的方式,只是讓它像這樣?當我們創建基於事件的網站時,考慮什麼日期/時間?
請拋開一些光線。
關於
服務器時間沒用。
對於未來事件,您可以選擇存儲都形式「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).";
在存儲之前將所有時間轉換爲GMT。這樣你就可以在整個地球上有一個共同的日期/時間。
您還需要讓您的成員指定他們所在的時區,以便您可以在正確的時間內爲他們顯示事件。
這是不夠的。請參閱我已鏈接到的文章。 – Artefacto 2010-08-04 04:49:07
嗨,謝謝。我會閱讀這篇文章,明天嘗試一下。謝謝,我希望我可以使用這些技術與我目前的設置。我從2010-08-02格式獲取用戶的日期,我需要了解如何根據筆記和文章操作,以便在世界各地顯示正確的活動日期。我使用這個日期,然後使用一些javscript來計算網頁上的天 - 小時差異,例如「事件將發生在3D4h10M中,我將不得不看看我是否需要修改幾件事情,但我再次感謝您的快速幫助。 – Jay 2010-08-04 05:17:33