我有這種格式的特定日期時間值' YYYY-MM-DDThh:mm:ss.ms '(例如' 2022-05-10T13:44:00.0000000 '),我需要將它們轉換為本地日期時間(UTC 2對我來說)不改變格式(所以“ 2022-05-10T15:44:00.0000000 ”是想要的結果(更好的是沒有毫秒,但這只是錦上添花)。
我已經進行了廣泛的搜索,但我發現的每個所謂的解決方案要么改變了格式,要么根本不改變時間。
這就是我現在所擁有的,它成功地將時間轉換為本地時間,但是通過 .toISOString() 運行它以獲取原始格式,它將其轉換回 UTC 時間。
//Input: event.start.dateTime = '2022-05-10T13:44:00.0000000'
let startDateTime = new Date(event.start.dateTime);
startDateTime.setMinutes(startDateTime.getMinutes() -
startDateTime.getTimezoneOffset());
document.getElementById('ev-start').value =
startDateTime.toISOString().slice(0,16);
//Output: '2022-05-10T13:44:00.000Z'
uj5u.com熱心網友回復:
我找不到一個干凈且令人滿意的解決方案,所以我決定自己格式化。這就是我最終得到的結果:
輸入:' 2022-05-10T13:44:00.0000000 '
let startDateTime = new Date(event.start.dateTime);
startDateTime.setMinutes(startDateTime.getMinutes() -
startDateTime.getTimezoneOffset());
let localStartDateTime = startDateTime.getFullYear() "-"
(startDateTime.getMonth() 1).toString().padStart(2, '0')
"-" startDateTime.getDate().toString().padStart(2, '0')
"T" startDateTime.getHours().toString().padStart(2, '0')
":" startDateTime.getMinutes().toString().padStart(2, '0')
":"
startDateTime.getSeconds().toString().padStart(2, '0');
document.getElementById('ev-start').value =
localStartDateTime;
輸出:' 2022-05-10T15:44:00 '
uj5u.com熱心網友回復:
希望這可以幫助
const startDateTime = new Date('2022-05-10T13:44:00.0000000');
const outputDateTime = new Date(startDateTime.toString()).toISOString().slice(0, 19);
//document.getElementById('ev-start').value = outputDateTime
console.log(outputDateTime);
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/474744.html
標籤:javascript 约会时间 当地时间 日期时间转换
