Я пытаюсь преобразовать время заданного формата "2019-06-17 10:35:18" и значение смещения "8" в формат строки ISO "2019-06-07T02: 35: 18.000Z"
Когда я пытаюсь использовать новый Date () формата, он конвертируется в местный часовой пояс «Mon Jun 17 2019 10:35:18 GMT-0400 (Eastern Daylight Time)».
Но без использования new Date (), если я использую функцию .toISOString (), она выдаст ошибку.
Ошибка типа: "2019-06-17 10:35:18" .toISOString не является функцией
Ниже приведен код, который я пробовал
function formatDate(date,offset){
const year = date.getFullYear ();
const month = date.getMonth () + 1 < 10
? `0${date.getMonth () + 1}`
: date.getMonth () + 1;
const day = date.getDate () < 10 ? `0${date.getDate ()}` : date.getDate ();
const hour = date.getHours ().toString ().length === 1
? `0${date.getHours ()}`
: date.getHours ();
const minutes = date.getMinutes ().toString ().length === 1
? `0${date.getMinutes ()}`
: date.getMinutes ();
const seconds = date.getSeconds ().toString ().length === 1
? `0${date.getSeconds ()}`
: date.getSeconds ();
const time = `${year}/${month}/${day}T${hour-offset}:${minutes}:${seconds}.00Z`;
return time;
}
Фактически - новая дата ("2019-06-17 10:35:18"). ToISOString ()
"2019-06-17T14: 35: 18.000Z"
Я хочу - для заданного времени и смещения «8» и ожидаемый результат будет «2019-06-17T02: 35: 18.000Z»