将日期从UTC转换为EST(JavaScript,HTML)

bf1o4zei  于 11个月前  发布在  Java
关注(0)|答案(1)|浏览(76)

我使用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函数?或者我可以从日期中减去8小时,然后返回它?

w8ntj3qf

w8ntj3qf1#

如果你有一个UTC格式的Date对象,你可以使用你的代码在一个区域设置和时区中显示它,就像你在代码中所做的那样。
现场演示:

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).toLocaleString("en-US", {timeZone: "America/New_York") }}</p>
 </div>

相关问题