我正在研究一個涉及Javascript的個人項目,並且作爲該項目的一部分,我想抓取當前日期(包括時間)並相應地顯示它。沒什麼大不了的?那麼,成交是,我想返回的時間&日期在東部日光時間,無論在世界上的IP是。如何使用Javascript日期對象計算東部時間?
如果這是不可能的,您建議採用哪些替代方法? PHP有這個功能嗎?我可以編寫一個簡單的PHP腳本來獲取日期並將其轉換,但如果可能的話,我想保留在JS中。
我想通過最好的方式來做到這一點,但我會很感激您可以提供的任何幫助。
謝謝!
我正在研究一個涉及Javascript的個人項目,並且作爲該項目的一部分,我想抓取當前日期(包括時間)並相應地顯示它。沒什麼大不了的?那麼,成交是,我想返回的時間&日期在東部日光時間,無論在世界上的IP是。如何使用Javascript日期對象計算東部時間?
如果這是不可能的,您建議採用哪些替代方法? PHP有這個功能嗎?我可以編寫一個簡單的PHP腳本來獲取日期並將其轉換,但如果可能的話,我想保留在JS中。
我想通過最好的方式來做到這一點,但我會很感激您可以提供的任何幫助。
謝謝!
JavaScript原生Date
對象只知道兩個時區,即UTC和用戶的區域設置時區(即使這樣,您可以提取有關區域設置時區的信息量也是有限的)。你可以在UTC工作,減去4小時獲得美國東部時間,但你真的總是想要美國東部時間,而不是東部時區?
如果您想在PHP中的任意區域之間執行時區轉換,您需要拖動一個帶有自己的時區信息的大型庫,例如TimezoneJS。
將JavaScript的所有內容全部保存爲UTC可能會更好,並讓PHP方面擔心它會針對特定區域/時區格式化,例如使用來自Date/Time的時區內容。
我發現這個on the internet,而且有很多這些腳本:
function calcTime(offset) {
// create Date object for current location
d = new Date();
// convert to msec
// add local time zone offset
// get UTC time in msec
utc = d.getTime() + (d.getTimezoneOffset() * 60000);
return new Date(utc + (3600000*offset));
}
所以,你得到的當前時間,加上當前位置的偏移量來獲得UTC時間,然後返回一個再次添加特定時區的偏移量的新日期。
感謝您的信息和建議。 – Alex 2010-11-04 18:05:24