Ваш код не добавляет часов к дате ввода.Происходит следующее: ваша строка даты использует определенный часовой пояс GMT-0700 (Mountain Standard Time)
, а часовой пояс, используемый в new Date().toISOString()
, - это UTC GMT+0000 (UTC)
.Таким образом, когда Mountain Standard Time
часовой пояс равен Mon Feb 04 2019 15:57:02
, в UTC
часовой пояс фактически равен 2019-02-05T22:57:02.000Z
.У вас есть семь часов с GMT-0700
до GMT+0000
.
РЕДАКТИРОВАНИЕ
Если вы действительно не заботитесь о часовых поясах и хотите получить 2019-02-04T15: 57: 02.000Z с понедельника, 04 февраля 2019 15:57:02 GMT-0700 (стандартное время в горах) вы можете просто удалить все после GMT, чтобы new Date () думала, что это дата UTC.
var timeString = 'Mon Feb 04 2019 15:57:02 GMT-0700 (Mountain Standard Time)';
new Date(timeString.substr(0, timeString.indexOf('GMT') + 3));
2019-02-04T15:57:02.000Z