Vue时刻显示时区设置错误的时间


不确定我做错了什么。我有一个laravel 8应用程序,我在其中以UTC存储时间,并在postgresql中存储timestamp_no_timezone。当我在数据库中查看时间时,它显示的是今天的日期,时间是13:45。当我使用vue时刻并显示时区设置为America/New_York的时间时,它仍然显示下午1:45,并且应该是上午8:45,带有偏移量。我会错过什么?我甚至做了一个时区的控制台日志,显示的是美国/纽约。

这是我使用的表达式:

{{ [ timesheet.start, "YYYY-MM-DD HH:mm:ss" ] | moment("timezone", "America/New_York", "h:mm A") }}

在发送响应时将存储的dateTime转换为epoch。

如何将dateTime转换为epoch有多种方法(在epoch中发送dateTime作为响应(。

添加您的型号

protected $casts = ['datetime_field' => 'timestamp']

在Laravel类中添加此方法,从中发送响应

protected function toEpoch($datetime )
{
if (gettype($datetime) == 'string') {
$datetime = new DateTime($datetime);
return Carbon::instance($datetime)->format('U');
} else if ($datetime instanceof Carbon) {
return $datetime->format('U');
} else if ($datetime != null) {
return Carbon::instance($datetime)->format('U');
}
} 
}

在vue项目

{{new Date(epoch*1000)}}

最新更新