我想在我的主頁中添加一個JavaScript世界時鐘,如http://www.dynamicdrive.com/dynamicindex6/localtime.htm,但我不希望每當DST更改時區時都更改它。是否可以自動將其與官方時間服務器同步,以便我可以在現場顯示不同地點的當前時間,並且在DST之後沒有任何更改?DST支持和服務器同步的世界時鐘
回答
使用標準date
函數以及date_default_timezone_set
。
$timezones = array("Australia/Brisbane", "America/New York", "Europe/London");
foreach ($timezones as $tz) {
date_default_timezone_set($tz);
echo "The time in $tz is: " . date('r');
}
它處理所有的夏令時和一切爲你。
你可以找到支持時區的列表,在此:http://www.php.net/manual/en/timezones.php
編輯:Javascript實現:
用上面的方法來讓PHP輸出所有不同你感興趣的時區,但使用
date('Z')
獲得UTC的秒偏移量。它使用JSON輸出或東西,所以Java腳本可以使用它:通過他們所有var offsets = { 'Brisbane' : 36000, 'Sydney' : 42000, 'London' : 0 };
循環,增加並根據需要減去偏移。
for (var city in offsets) { var d = new Date(); d.setTime(d.getTime() + offsets[city] * 1000); alert('The time in ' + city + ' is ' + d.toUTCString()); }
把上面成被稱爲每秒鐘功能,採用的setInterval
一個警告,雖然:它不能保證準確,因爲從理論上講,一個地區的時區可能會改變而有人打開窗戶(他們可能在DST的邊界)。這不太可能,刷新頁面會顯示正確的時間,所以這可能不是什麼大問題。
您忘記提及您在他/她需要JavaScript時使用PHP。我建議將所有初始數據加載到某些表單域中,並使用JavaScript通過使用setInterval函數進行輪詢來更新它們的時間。 – 2010-01-24 02:20:33
是的,我已經在使用這樣的代碼,但我想要使用JavaScript實時更新時鐘,並且僅爲
@Peleke現在檢查編輯。 – nickf 2010-01-24 06:40:19
- 1. 如何使一個服務器端的世界時鐘XPages中
- 2. 服務器和客戶端之間的同步時鐘
- 3. 構建世界時鐘
- 4. 世界時鐘不勾選
- 5. SOA服務邊界和生產支持
- 6. 通過時差和DST獲得世界各地的生日
- 7. 服務器場中的Web服務器是否必須爲ASP.NET狀態服務器同步服務器時鐘?
- 8. 谷歌AppEngine上的服務器實例的時鐘同步
- 9. iOS遊戲世界的日曆/時鐘
- 10. Windows phone 7中的世界時鐘
- 11. Rails time_zone_select DST支持?
- 12. 同步本地和服務器時間
- 13. 客戶端和服務器同時支持多種語言
- 14. 客戶端服務器與脫機支持同步
- 15. 連接在登錄服務器,轉發到世界服務器
- 16. 以環形模式同步服務器時鐘
- 17. 基於世界時鐘的JavaScript計時器?
- 18. 在Actionscript 3.0中創建世界時鐘
- 19. 在PHP或JavaScript中世界時鐘API
- 20. 時鐘同步
- 21. 同步客戶端和服務器程序之間的時鐘在c
- 22. 設計使用同時支持同步和異步調用
- 23. Minecraft服務器的世界邊界修剪腳本
- 24. Skybox旋轉與世界不同步
- 25. 在同一窗口中添加多個世界時鐘?
- 26. Web服務器支持的同時連接數
- 27. 在同一端口上支持IPv6和IPv4的C#服務器
- 28. Thrift C++服務器超時,java服務器不支持
- 29. WebSocket服務器支持
- 30. 如何運行CANVASENGINE服務器和物理世界
Windows Server/.NET有很多關於時區的記錄,因此取決於您的環境,您可能甚至不需要官方時間服務器。你的問題沒有說明,但是如果你正在尋找一個沒有任何服務器端代碼的「純粹」JavaScript解決方案。 – 2010-01-24 00:39:14
服務器運行在Linux(Debian)上,如果需要服務器端語言,我想使用PHP(我的網站的其餘部分也是用PHP編寫的)。 – Peleke 2010-01-24 01:30:51