Mysql 日期和时间转换

https://www.php.cn/faq/523569.html

 

select str_to_date('2023-06-28 21:53:49','%Y-%m-%d %T');
select str_to_date('2023-06-28 21:53:49','%Y-%m-%d %H:%i:%s');

 

一、MySQL中的日期时间类型

在MySQL中,日期时间类型包括DATE、TIME、DATETIME以及TIMESTAMP四种类型。其中,DATE类型表示日期,格式为'YYYY-MM-DD';TIME类型表示时间,格式为'HH:MM:SS';DATETIME类型表示日期和时间,格式为'YYYY-MM-DD HH:MM:SS';TIMESTAMP类型也表示日期和时间,但格式为'YYYY-MM-DD HH:MM:SS',并且与时区有关。在进行字符转换时间操作时,需要了解这些类型的差异以及格式要求。

二、字符转换时间的常用函数

在MySQL中,常用的字符转换时间函数包括STR_TO_DATE和DATE_FORMAT两种。其中,STR_TO_DATE函数用于将字符串类型的时间转换为MySQL支持的时间格式,而DATE_FORMAT函数则用于将MySQL支持的时间格式转换为其他指定的格式。

1.STR_TO_DATE函数

STR_TO_DATE函数的语法为:

STR_TO_DATE(string, format)

其中,string表示待转换的字符串类型的时间,而format表示目标格式。这两个参数之间需要使用逗号分隔。在format中,需要使用一些占位符表示年、月、日、时、分、秒等相关信息,具体格式见下表:

占位符含义
%Y 年份,四位数字
%m 月份,两位数字
%d 日期,两位数字
%H 小时,24小时制,两位数字
%i 分钟,两位数字
%s 秒数,两位数字

例如,想要将字符串类型的时间'2019-11-08 12:30:45'转换为DATETIME类型,可以使用以下语句:

SELECT STR_TO_DATE('2019-11-08 12:30:45', '%Y-%m-%d %H:%i:%s') AS datetime;

执行该语句后,将会输出'2019-11-08 12:30:45',表示已经成功将字符串类型的时间转换为了DATETIME类型。

2.DATE_FORMAT函数

DATE_FORMAT函数的语法为:

DATE_FORMAT(date, format)

其中,date表示待转换的MySQL支持的时间格式,而format则表示目标格式。同样,这两个参数之间需要使用逗号分隔。在format中,也需要使用一些占位符表示年、月、日、时、分、秒等相关信息,具体格式同上表。

posted @ 2023-06-28 21:35  Avicii_2018  阅读(3198)  评论(0编辑  收藏  举报