【问题标题】: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 ago49 minutes ago 之类的内容。这一直很好,直到英国在几周前进入夏令时,现在所有时间都被夸大了 1 小时。

我正在使用 moment 来显示如下结果;

getElapsedString(from) {
   return moment(from).fromNow();
}

数据以以下格式存储在我的数据库中,这是作为from传递给上述函数的内容;

2019-04-10 09:27:48

我没有对它们存储的日期做任何事情。这是由 Laravel 处理的。

【问题讨论】:

    标签: javascript php laravel momentjs dst


    【解决方案1】:

    在config/app.php里面有一个

    'timezone' => ''
    

    您可以将其设置为:

    'timezone' => 'America/New_York'
    

    它将设置默认时区并将 created_at 保存在当前日光下的时区

    【讨论】:

    • 感谢您的回答。据我所知,这仅适用于未来的新条目。它不会更新数据库中已有的条目。
    • 恐怕不行,因为它不知道你在哪个时区输入了这个时间戳。将来您可以使用 $table->dateTimeTz('created_at');用时区保存
    猜你喜欢
    • 2013-05-25
    • 2016-12-23
    • 2016-07-30
    • 1970-01-01
    • 2020-04-29
    • 2019-08-22
    • 1970-01-01
    • 1970-01-01
    • 2015-09-17
    相关资源
    最近更新 更多