我想存儲和檢索一個日期對象,該日期對象在保存時應該保持一致,無論瀏覽器設置爲何種時區。在不影響實際時間的情況下在時區之間進行轉換?
例如。我有一個7PM的IST,當用偏移量轉換時,應該返回到我選擇的時區的下午7點。 然後,我希望能夠中檢索相同的時間戳爲下午7點的任何時區的瀏覽器是英寸
我已經想通了,第一部分
var date = moment(date);
var localDate = date.clone();
localDate.tz(timezone); // continent/city from momentjs
localDate.tz(timezone);
localDate.add(date.utcOffset() - localDate.utcOffset(), 'minutes');
localDate.toDate();
最終給我的日期,我可以用它來保存到數據庫中的UTC(我將其保存在MongoDB中)
我不知道我如何能扭轉它返回到本地時區,這樣我可以得到的返回值作爲瀏覽器時區的晚上7點。
用UTC保存日期後,不再有源偏移量。因此,要將其轉換回目標時區的同一時間,您需要捕獲源偏移量,以便將其轉換回源偏移時間,然後用目標時區偏移該差異。 Btw在不同時區有相同的時間可能會導致時區規則更改時出現歧義或節省日光。 – Veeram
ECMAScript日期對象是UTC,它是具有偏移量的主機。如果您在特定時區有7pm,並將時區更改爲具有不同偏移量的時區,則時間應該改變。否則,它代表了不同的時刻。 – RobG