当前位置:网站首页>PHP和MySQL获取week值不一致的处理
PHP和MySQL获取week值不一致的处理
2022-07-26 09:00:00 【愤世大魔头】
应用情景
在处理关于周数据的统计的时候,碰上一个问题:通过MySQL的week函数统计出来的“周数”,比PHP的date(“W”,time())获取的“周数”小1。如“2020-06-18 13:27:01”,MySQL取出来的是24,而PHP取出来的是25,这就导致有一周的数据没有匹配上。
头一次碰上这个问题,于是我特意用win10角落的日历数了一下,发现“2020-06-18 13:27:01”确实在2020年的第25周,那问题就出在MySQL的week函数了。
问题所在
仔细一查,发现MySQL的week函数居然还有第2个参数——mode?!
WEEK函数的两个参数:
date是要获取周数的日期。
mode是一个可选参数,用于确定周数计算的逻辑。它允许您指定本周是从星期一还是星期日开始,返回的周数应在0到52之间或0到53之间。
看了这个注释我一开始没看懂,但看了下面这个表:
模式 | 一周的第一天 | 范围 |
0 | 星期日 | 0-53 |
1 | 星期一 | 0-53 |
2 | 星期日 | 1-53 |
3 | 星期一 | 1-53 |
4 | 星期日 | 0-53 |
5 | 星期一 | 0-53 |
6 | 星期日 | 1-53 |
7 | 星期一 | 1-53 |
忽然明白了!
默认情况下,mode参数取0,也就是说,周是从星期日开始算的,再看“2020-06-18 13:27:01”,其实,它所在的这一周是 “2020-06-14”到“2020-06-20”,而不是“2020-06-15”到“2020-06-21”
这就清楚了,是计算一周的第一天不同导致的,那么,只有将其统一,就OK了。
解决方案
在MySQL的week函数中加入第二个参数“1”,即 WEEK(created_at,1),再次查看,MySQL和PHP所取的周数就一致了!
至于为什么有0-7这八种模式,有懂的朋友,欢迎留言!谢谢~
边栏推荐
- Learning notes of automatic control principle - Performance Analysis of continuous time system
- 【LeetCode数据库1050】合作过至少三次的演员和导演(简单题)
- Review notes of Microcomputer Principles -- zoufengxing
- 209. Subarray with the smallest length
- 优秀的 Verilog/FPGA开源项目介绍(三十零)- 暴力破解MD5
- Study notes of automatic control principle -- correction and synthesis of automatic control system
- 李沐d2l(五)---多层感知机
- Sklearn machine learning foundation (linear regression, under fitting, over fitting, ridge regression, model loading and saving)
- Set of pl/sql
- 数据库操作技能7
猜你喜欢

数据库操作 题目一

合工大苍穹战队视觉组培训Day6——传统视觉,图像处理

Introduction to excellent verilog/fpga open source project (30) - brute force MD5

Set of pl/sql -2

Nuxt - 项目打包部署及上线到服务器流程(SSR 服务端渲染)

2022流动式起重机司机考试题模拟考试题库模拟考试平台操作

Day06 homework -- skill question 2

pycharm 打开多个项目的两种小技巧

220. Presence of repeating element III

Matlab 绘制阴影误差图
随机推荐
Regular expression: judge whether it conforms to USD format
【ARKit、RealityKit】把图片转为3D模型
220. Presence of repeating element III
Uploading pictures on Alibaba cloud OSS
合工大苍穹战队视觉组培训Day6——传统视觉,图像处理
PHP page value transfer
Elastic APM安装和使用
The idea shortcut key ALT realizes the whole column operation
Web overview and b/s architecture
Error: Cannot find module ‘umi‘ 问题处理
力扣刷题,三数之和
Day06 homework -- skill question 2
Okaleido上线聚变Mining模式,OKA通证当下产出的唯一方式
Review notes of Microcomputer Principles -- zoufengxing
JS file import of node
Cve-2021-26295 Apache OFBiz deserialization Remote Code Execution Vulnerability recurrence
P3743 Kotori's equipment
Espressif 玩转 编译环境
Nuxt - 项目打包部署及上线到服务器流程(SSR 服务端渲染)
Which of count (*), count (primary key ID), count (field) and count (1) in MySQL is more efficient? "Suggested collection"