Laravel / Moment - 如何确定夏令时期间是不是 created_at?
Posted
技术标签:
【中文标题】Laravel / Moment - 如何确定夏令时期间是不是 created_at?【英文标题】:Laravel / Moment - How to determine if created_at during Daylight Savings?Laravel / Moment - 如何确定夏令时期间是否 created_at? 【发布时间】:2019-08-31 20:33:49 【问题描述】:如何使用 created_at
字段确定我的数据库 (laravel
) 中的条目是否在夏令时存储?
我正在尝试计算保存记录与现在之间的时间差,这样我就可以显示3 hours ago
或49 minutes ago
之类的内容。这一直很好,直到英国在几周前进入夏令时,现在所有时间都被夸大了 1 小时。
我正在使用 moment 来显示如下结果;
getElapsedString(from)
return moment(from).fromNow();
数据以以下格式存储在我的数据库中,这是作为from
传递给上述函数的内容;
2019-04-10 09:27:48
我没有对它们存储的日期做任何事情。这是由 Laravel 处理的。
【问题讨论】:
【参考方案1】:在config/app.php里面有一个
'timezone' => ''
您可以将其设置为:
'timezone' => 'America/New_York'
它将设置默认时区并将 created_at 保存在当前日光下的时区
【讨论】:
感谢您的回答。据我所知,这仅适用于未来的新条目。它不会更新数据库中已有的条目。 恐怕不行,因为它不知道你在哪个时区输入了这个时间戳。将来您可以使用 $table->dateTimeTz('created_at');用时区保存以上是关于Laravel / Moment - 如何确定夏令时期间是不是 created_at?的主要内容,如果未能解决你的问题,请参考以下文章