Преобразование даты из UTC в EST (Javascript, HTML)
Я использую Vue для визуализации некоторых данных, проблема в том, что дата, хранящаяся в поле created_at, находится в UTC (мне нужно, чтобы она была в EST).
<div class="row">
<div class="col-md-3" v-for="result in results">
<div class="panel panel-default">
<div class="panel-heading">
<p>createdAt:{{ result._source.created_at }}
</div>
<div class="panel-body">
<p>text:{{ result._source.text }}</p>
</div>
</div>
</div>
</div>
Я попытался использовать эту переменную javascript для ее преобразования, но не знаю, как ее реализовать.
<script>
var usaTime = new Date().toLocaleString("en-US", {timeZone: "America/New_York"});
console.log('USA time: '+ (new Date(usaTime)).toISOString())
</script>
Нужно ли передавать значение created_at в функцию javascript, которая преобразует дату? Или я могу просто вычесть восемь часов из даты, а затем вернуть ее?
Ответы - Преобразование даты из UTC в EST (Javascript, HTML) / Convert date from UTC to EST (Javascript, HTML)

16.11.2020 09:36:46
Если у вас есть объект Date
, который находится в UTC, вы можете использовать свой код для отображения его в локале и часовом поясе так же, как и в вашем коде.
Живая демонстрация:
var utcTime = new Date("2020-10-16T18:00:00Z");
console.log('UTC Time: ' + utcTime.toISOString());
var usaTime = utcTime.toLocaleString("en-US", {timeZone: "America/New_York"});
console.log('USA time: '+ usaTime)
Так
Нужно ли передавать значение created_at в функцию javascript, которая преобразует дату?
Да, предполагая, что ваше значение result._source.created_at
отформатировано как дата UTC, вы передадите его и вызовете toLocaleString
, чтобы отобразить его соответствующим образом.
Возможно, что-то вроде:
<div class="panel-heading">
<p>createdAt:{{ new Date(result._source.created_at).toLocateString("en-US", {timeZone: "America/New_York") }}</p>
</div>