【发布时间】:2022-01-04 15:37:14
【问题描述】:
在我的数据库中,我有一个 created_at 列,它存储在 UTC 时间创建记录时的日期时间,我还有一个存储转换为用户时区 created_timezone 的相同日期时间的列。
在下面的代码中,我试图检查是否输入了当天的条目(相对于用户时区)
public static function isEntryMade($userID, $timezone)
{
$day = Day::where('user_id', $userID)->whereDate('created_timezone', Carbon::today()->timezone($timezone))->get();
return $day;
}
问题是结果返回前一天的记录,我几乎可以肯定这是因为timezone() 方法由于用户时区(美国/多伦多)而减去了 5 小时。
我怎样才能让它只返回今天关于用户时区的记录。
为澄清起见,我还将用户时区存储在数据库中,这就是$timezone 的含义。此外,created_timezone 列是 created_at 时间,但解析为用户时区
【问题讨论】:
-
@sta 工作,谢谢
标签: laravel eloquent php-carbon