簡體   English   中英

如何使用夏令時處理時區偏移?

[英]How to handle Timezone offset with daylight savings?

用戶A在我的網站中創建了一個從9:00 am開始的事件。 我將該時間轉換為GMT,以便如果用戶B在不同時區的兩個小時之前看到了該事件,則可以將其轉換為用戶B的時區,並顯示該事件在11:00 am開始。

我的問題是,如果用戶A在夏令時期間創建事件,然后在夏令時結束時查看該事件,則時區偏移量將減少一小時。 如果不是夏令時,則導致事件從8:00 am開始,如果是夏令時,則導致9:00 am開始。 關於如何使用javascript或php解決此問題的任何建議?

我唯一的想法是,當我獲得如下所示的時區偏移時,是否應始終將日期設置為一月,這樣無論實際月份是什么,我都始終獲得相同的時區偏移? 還是有更好的方法來解決這個問題?

d = new Date();
d.setMonth(1);
d.getTimezoneOffset()

getTimezoneOffset返回的時區偏移量是在方法被調用的日期 ,而不是當前時間。 因此,始終詢問您要顯示的事件的時區,就可以了。

但是,請注意,如果您要安排重復事件,則需要將時間存儲為本地時間,而不是通用時間。 否則,無論夏令時開始或結束,會議時間都會跳一個小時。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM