【发布时间】:2019-12-17 11:12:54
【问题描述】:
当我尝试在 MYSQL 中将字符串转换为日期时,我得到了奇怪的结果。
SELECT
'2017-06-20' d
,CAST('2017-06-20' as DATE) d1
,DATE_FORMAT('2017-06-20', '%Y-%m%-%d') d2
,STR_TO_DATE('2017-06-20', '%Y-%m-%d') d3
,DATE('2017-06-20') d4
在我的机器上,d2 是唯一正确的日期,即它生成2017-06-20。其余的,即 d1、d3 和 d4,生成06/19/2017。为什么?我对STR_TO_DATE特别困惑
【问题讨论】:
-
抱歉,我无法重现此发现。
-
可能的重复/解释...stackoverflow.com/questions/40774904/…
-
什么版本的mysql,你的时区设置是什么?
SHOW VARIABLES LIKE '%zone'; -
MY SQL 版本:5.7.12
-
系统时区:UTC