Php Laravel:数据库中消息的日期显示不正确
现在我向我的收件箱应用程序发送消息。您可以在图像中看到已保存的消息: 消息发送时间16:55。但在我的本地站点中,消息日期显示不正确: 为什么发送日期信息显示不正确?Laravel应用程序配置时区设置Php Laravel:数据库中消息的日期显示不正确,php,laravel,laravel-5.5,Php,Laravel,Laravel 5.5,现在我向我的收件箱应用程序发送消息。您可以在图像中看到已保存的消息: 消息发送时间16:55。但在我的本地站点中,消息日期显示不正确: 为什么发送日期信息显示不正确?Laravel应用程序配置时区设置“亚洲/塔什干” 代码: $today=收件箱::where($message,$user_id)->whereDate('created_at',Carbon::today())->latest()->分页($perPage); $thisYear=收件箱::where($message,$us
“亚洲/塔什干”
代码:
$today=收件箱::where($message,$user_id)->whereDate('created_at',Carbon::today())->latest()->分页($perPage);
$thisYear=收件箱::where($message,$user_id)->wherewhere('created_at',[now()->startOfYear(),Carbon::beday()->endOfDay())->latest()->paginate($perPage);
$pastYear=Inbox::where($message,$user_id)->where('created_at','”如评论中所述,您正在使用created_at->format('H:m')
格式化此日期
在PHP中,m
指的是月份,而不是分钟,即i
。它打印01
,因为那是日期的月份
改用这个:
created_at->format('H:i')
正如评论中所说,您正在使用created\u at->format('H:m')
格式化此日期
在PHP中,m
指的是月份,而不是分钟,即i
。它打印01
,因为那是日期的月份
改用这个:
created_at->format('H:i')
请这样做:
$today = Inbox::where($message, $user_id)->whereDate('created_at',DB::raw('CURDATE()'))->latest()->paginate($perPage);
假设您想过滤掉今天创建的条目。您在创建了一个时间戳字段,对吗?如何仅从该时间戳过滤日期?显然,Taylor已经考虑过了
我见过有人用原始查询这样做:
$q->where(DB::raw("DATE(created_at) = '".date('Y-m-d')."'"));
$q->where('created_at', '>=', date('Y-m-d').' 00:00:00'));
或者不使用datetime的原始查询,如下所示:
$q->where(DB::raw("DATE(created_at) = '".date('Y-m-d')."'"));
$q->where('created_at', '>=', date('Y-m-d').' 00:00:00'));
幸运的是,Laravel Query Builder提供了一个更加雄辩的解决方案:
$q->whereDate('created_at', '=', date('Y-m-d'));
当然,也可以使用碳来代替PHP date():
$q->whereDate('created_at', '=', Carbon::today()->toDateString());
请这样做:
$today = Inbox::where($message, $user_id)->whereDate('created_at',DB::raw('CURDATE()'))->latest()->paginate($perPage);
假设您想过滤掉今天创建的条目。您在创建了一个时间戳字段,对吗?如何仅从该时间戳过滤日期?显然,Taylor已经考虑过了
我见过有人用原始查询这样做:
$q->where(DB::raw("DATE(created_at) = '".date('Y-m-d')."'"));
$q->where('created_at', '>=', date('Y-m-d').' 00:00:00'));
或者不使用datetime的原始查询,如下所示:
$q->where(DB::raw("DATE(created_at) = '".date('Y-m-d')."'"));
$q->where('created_at', '>=', date('Y-m-d').' 00:00:00'));
幸运的是,Laravel Query Builder提供了一个更加雄辩的解决方案:
$q->whereDate('created_at', '=', date('Y-m-d'));
当然,也可以使用碳来代替PHP date():
$q->whereDate('created_at', '=', Carbon::today()->toDateString());
代码在哪里?我的印象是您可能使用了h:m
,它显示01,因为日期的月份是1。如果是这样的话,请尝试h:I
。您包括了代码,但是您在页面中格式化此日期以打印的部分在哪里?创建时间->格式('h:m'))
代码在哪里?我的印象是您可能使用了h:m
,它显示01,因为日期的月份是1。如果是这样的话,请尝试h:I
。您包含了代码,但是在页面中格式化此日期以打印的部分在哪里?创建的\u at->format('h:m'))
是的,我写错了意思。谢谢@PhiterYes,我写错了意思。谢谢@PhiterWhy you want replaceCarbon::today()
toDB::raw('CURDATE()')
@Nims Patel?为什么你想把Carbon::today()
替换成DB::raw('CURDATE())
@Nims Patel?