登录
首页 >  数据库 >  MySQL

mysql时间转换方法是什么

来源:亿速云

时间:2023-05-13 21:20:08 172浏览 收藏

本篇文章给大家分享《mysql时间转换方法是什么》,覆盖了数据库的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

  1. 将日期转为时间戳

使用UNIX_TIMESTAMP函数,MySQL支持将日期转换为时间戳。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函数。

  1. 将时间戳转为日期

在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)
%pAM 或 PM(大写字母)
  1. 将日期字符串转为日期

当我们保存日期数据时,常常会将其以字符串的形式保存,此时如果需要进行日期操作,就需要将字符串转为日期型。使用STR_TO_DATE函数可以将字符串转换为日期,在MySQL中。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。

  1. 将日期转为字符串

在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'字符串的形式。

好了,本文到此结束,带大家了解了《mysql时间转换方法是什么》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多数据库知识!

声明:本文转载于:亿速云 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>