方法分析:
日常開發中,有時我們需要向后端傳遞的時間值可能并非一個時間對象,而是字符串格式。
例 1:[2023-08-16T08:07:25.577Z]
但是我們通過 new Date() 之后直接使用 .toString() 方法得到的卻并非這種格式。
例 2:Tue Jan 01 2013 00:00:00 GMT+0800 (CST)
方法演示:
我們使用 .toISOString() 可以得到【例1】所示的時間格式,但是此方法返回的總是UTC時區的時間。
現在需要的就是解決時間差的問題,以下是解決方法的代碼展示:
// 獲取當前時間ISO格式字符串getCurrentTime() {let datetime = new Date();let timezoneOffset = datetime.getTimezoneOffset() * 60000; // 獲取當前時區與UTC的時間差(以毫秒為單位)let localDatetime = new Date(datetime - timezoneOffset); // 調整時間,得到當前時區時間let isoString = localDatetime.toISOString();return isoString;},