转换时间类型是 MySQL 数据库中经常遇到的操作,今天我们就来详细介绍一下 MySQL 数据库中的时间类型转换。本文将按照以下内容依次介绍:
1. 时间戳转日期
2. 日期转时间戳
3. 日期格式转换
4. 时间格式转换
1. 时间戳转日期(timestamp to date)
MySQL 中的 UNIX_TIMESTAMP 函数可以将日期转换为时间戳,而 FROM_UNIXTIME 函数可以将时间戳转换为日期格式,两者结合使用就可以实现时间戳转日期。
SELECT FROM_UNIXTIME(1627541500,'%Y-%m-%d %H:%i:%s')
上述代码将返回 2021-07-29 14:51:40 表示时间戳 1627541500 转换为日期格式。
2. 日期转时间戳(date to timestamp)
如果要将日期转换为时间戳,可以使用 UNIX_TIMESTAMP 函数来实现。
SELECT UNIX_TIMESTAMP('2021-07-29 15:03:45')
上述代码将返回 1627543425 表示日期 '2021-07-29 15:03:45' 转换为时间戳格式。
3. 日期格式转换(date format conversion)
MySQL 中提供了 DATE_FORMAT 函数,可以将日期按照指定格式进行格式化操作。
下面是一些常用的日期格式:
- %Y:四位数的年份,例如 2021
- %y:两位数的年份,例如 21
- %m:月份,例如 07
- %d:月份中的天数,例如 29
- %H:小时,24 小时制,例如 15
- %h:小时,12 小时制,例如 03
- %i:分钟,例如 45
- %s:秒数,例如 20
下面是一个例子,将日期格式化为年月日的形式:2021-07-29。
SELECT DATE_FORMAT('2021-07-29','%Y-%m-%d')
上述代码将返回 2021-07-29,表示将日期按照年月日的形式进行格式化。
4. 时间格式转换(time format conversion)
MySQL 中提供了 TIME_FORMAT 函数,可以将时间按照指定格式进行格式化操作。
下面是一些常用的时间格式:
- %H:小时,24 小时制,例如 15
- %h:小时,12 小时制,例如 03
- %i:分钟,例如 45
- %s:秒数,例如 20
- %p:上午/下午,例如 PM
下面是一个例子,将时间格式化为小时:分钟:秒的形式:15:03:45。
SELECT TIME_FORMAT('15:03:45','%H:%i:%s')
上述代码将返回 15:03:45,表示将时间按照小时:分钟:秒的形式进行格式化。
总结
通过上述的介绍,我们可以看出 MySQL 数据库中的时间类型转换非常简单,只需要了解一些基本的函数和格式化操作就可以实现。在实际应用中,我们可以根据业务需要灵活使用这些功能来满足不同场景下的需求。