我正在建立的系統有一個事件組件,其中的一部分就是創建循環事件的能力。在我的數據庫中,我使用UTC存儲所有事件。當用戶日曆上顯示重複事件時,應始終顯示在「牆上時間」中。因此,例如,如果我每週三下午1:00創建一個週期性事件,無論夏時制是否變化,它都應始終在下午1:00。防止DST轉換與moment.js對於經常性事件
我遇到的問題是,每當我嘗試使用Moment.js格式化此日期時,Moment始終會考慮DST移位並相應地更新事件。以我以前的例子爲例,2016年,DST班次發生在3月13日,所以如果我的預約是在2016年2月預訂的,那麼直到3月13日的每個預約都會正確輸出爲下午1:00。 3月13日之後,DST班次已經實施,我的所有活動現在都提前了一個小時。
是否有推薦的方法來處理這個問題?我似乎無法找到一種方法讓Moment「忽略」DST,也無法在搜索時找到合適的解決方案。
不知道這有多重要,但我在輸出日期時使用Moment Timezone轉換爲用戶的本地時區。
謝謝!
時間處理總是有問題,在這種情況下,您不需要將用戶規則轉換爲utc時間戳,將其存儲爲「晚上11點」。並且每次顯示時計算所有下一個事件。爲什麼?由於DST規則/偏移量可能發生變化,因此您無法計算任何未來事件的正確UTC時間。 –