【发布时间】:2021-05-02 11:47:32
【问题描述】:
我正在尝试使用 PHP(Carbon - laravel)和 MySql 使用相同的日期获得相同的搜索编号。年底,PHP返回第53周,Mysql使用相同的日期返回52,但都从第1周开始,这怎么可能?
这是一个例子:
相同的日期,不同的输出:
PHP:
$phpDate = Carbon::create('2020','12','31');
dd($phpDate->format('W'));
//output - 53
MySql
select DATE_FORMAT("2020-12-31", '%V') from aRandomTable
//output 52
然后我质疑,也许 MySQL 是从零开始的,但后来我又尝试了一次:
PHP:
$phpDate = Carbon::create('2021','01','05');
dd($phpDate->format('W'));
//output - 01
MySQL
select DATE_FORMAT("2021-01-05", '%V') from aRandomTable
//output - 01
两者都从第 1 周开始。
为什么会这样?我该如何解决这个问题?
【问题讨论】:
-
在 mysql 上使用 SELECT WEEKOFYEAR('2020-12-31') 你会得到 53 或使用 select DATE_FORMAT("2020-12-31", '%v') 与 v 小写,你会得到 53
-
谢谢!发生这种情况是有原因的?将您的评论设置为答案,以便我将其标记为正确
标签: php mysql php-carbon