这篇文章主要讲解了“mysql时间转换方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql时间转换方法是什么”吧!
将日期转为时间戳
将时间戳转为日期
将日期字符串转为日期
将日期转为字符串
在MySQL中,可以使用UNIX_TIMESTAMP函数将日期转为时间戳。UNIX_TIMESTAMP函数的语法如下:
UNIX_TIMESTAMP(date)
其中,date是一个合法的日期表达式,可以是日期型的列名、字符串类型的日期、或日期型的变量。下面是一些示例:
SELECT UNIX_TIMESTAMP('2022-07-01 00:00:00'); SELECT UNIX_TIMESTAMP(NOW()); SELECT UNIX_TIMESTAMP(date_column) FROM table_name;
上述示例中,第一个SELECT语句将日期字符串'2022-07-01 00:00:00'转为时间戳;第二个SELECT语句将当前时间转为时间戳;第三个SELECT语句将表中的日期列转为时间戳。需要注意的是,UNIX_TIMESTAMP函数返回的是秒级时间戳,如果需要毫秒级时间戳,则可以使用UNIX_TIMESTAMP*1000函数。
同样地,在MySQL中,可以使用FROM_UNIXTIME函数将时间戳转为日期。FROM_UNIXTIME函数的语法如下:
FROM_UNIXTIME(unix_timestamp, format)
其中,unix_timestamp是要转换的时间戳,可以是一个数字,也可以是一个日期型的列名;format是日期的格式化字符串。例如,要将时间戳转为'yyyy-mm-dd hh:mm:ss'格式的日期,可以使用如下语句:
SELECT FROM_UNIXTIME(1625041238, '%Y-%m-%d %H:%i:%s');
这个语句将会返回2021-06-30 11:53:58,并且格式化字符串中的各个占位符也可以自由调整。下面是一些常用的格式化字符:
格式化字符 | 含义 |
---|---|
%Y | 四位数的年份(例如:2022) |
%m | 两位数的月份(例如:01 或 12) |
%d | 两位数的日期(例如:01 或 31) |
%H | 两位数的小时(例如:00 或 23) |
%i | 两位数的分钟(例如:00 或 59) |
%s | 两位数的秒(例如:00 或 59) |
%f | 微秒(000000 ~ 999999) |
%W | 星期(例如:Sunday 到 Saturday) |
%a | 缩写的星期名称(例如:Sun 到 Sat) |
%b | 缩写的月份名称(例如:Jan 到 Dec) |
%p | AM 或 PM(大写字母) |
当我们保存日期数据时,常常会将其以字符串的形式保存,此时如果需要进行日期操作,就需要将字符串转为日期型。在MySQL中,可以使用STR_TO_DATE函数将字符串转为日期。STR_TO_DATE函数的语法如下:
STR_TO_DATE(str, format)
其中,str是要转换的字符串,format是日期的格式化字符串。例如,将字符串'2022-07-01'转为日期型,可以使用如下语句:
SELECT STR_TO_DATE('2022-07-01', '%Y-%m-%d');
这个语句将会返回一个日期形式的数据:2022-07-01。
同样地,在MySQL中,可以使用DATE_FORMAT函数将日期转为字符串。DATE_FORMAT函数的语法如下:
DATE_FORMAT(date, format)
其中,date是要转换的日期,可以是一个日期型的列名或变量,也可以是一个字符串形式的日期;format是日期的格式化字符串。例如,要将日期转为'yyyy-mm-dd'格式的字符串,可以使用如下语句:
SELECT DATE_FORMAT('2022-07-01', '%Y-%m-%d');
这个语句将会返回'2022-07-01'字符串的形式。