Преобразование даты из UTC в EST (Javascript, HTML)


Преобразование даты из UTC в EST (Javascript, HTML)

16.11.2020 09:30:29 Просмотров 6 Источник

Я использую 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)

Jamiec

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>
Помочь в развитии проекта:
Закрыть X