我在mysqldate_format()的文档中看到,它返回53或54个不同的值。据我所知,一年有52或53周。这额外的一周是从哪里来的?

%U  Week where Sunday is the first day of the week (00 to 53)
%u  Week where Monday is the first day of the week (00 to 53)
%V  Week where Sunday is the first day of the week (01 to 53). Used with %X
%v  Week where Monday is the first day of the week (01 to 53). Used with %X

https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html
那么U和V标志有什么区别呢?U标志不应该有(00到52)的范围吗?
谢谢!

最佳答案

在玩2018-01-01(星期一)-2018-01-07(星期日)的日期时,您可以看到:
Vs可以返回上一年的周数:
SELECT DATE_FORMAT("2018-01-05", "%V");
return 53(本周从星期日开始,即2017年)。%v工作原理相同,但对于上面的值,返回0,因为星期一是一周的第一天,已经在2018年了。
Us没有这个属性:对于上面的%U将返回1。

关于mysql - mysql date_format()-%U和%V标志之间有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51154334/

10-14 23:02