Вы можете указать идентификатор часового пояса IANA в параметрах, переданных toLocaleString
. Идентификатор для Индии: Asia/Kolkata
.
var s = new Date('2020-01-14T17:43:37.000Z').toLocaleString(undefined, {timeZone: 'Asia/Kolkata'});
. Это сделает правильное преобразование часового пояса, так как ввод в UT C (как указано Z
в конце).
undefined
означает использование языкового стандарта пользователя для форматирования даты и времени. Обычно это то, что вы хотите. Если вам нужен более конкретный формат (например, тот, который вы указали в своем вопросе), вы можете предоставить указанную c строку локали и / или настроить другие параметры для toLocaleString
, как указано в документации .
Также обратите внимание, что конверсия в вашем вопросе неверна. В Индии 5 часов и 30 минут смещения от UT C. Таким образом, правильный вывод - 2020-01-14 23:13:37
(в любом формате, который вам нравится)