欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 旅游 > MySQL时间转换

MySQL时间转换

2024/10/24 19:28:20 来源:https://blog.csdn.net/kersixy/article/details/139889947  浏览:    关键词:MySQL时间转换

1. bigint类型的时间戳

1.1 将bigint转为datetime

FROM_UNIXTIME(时间戳 / 1000)

1.2 将bigint转为date

  • 方式一:

DATE(FROM_UNIXTIME(时间戳 / 1000))
  • 方式二:字符串隐式转换

FROM_UNIXTIME(时间戳 / 1000, '%Y-%m-%d')

1.3 将bigint转为指定格式的varchar

FROM_UNIXTIME(时间戳 / 1000,'%Y-%m-%d %H:%i:%s')

1.4 将bigint转换为年份/月份/周/日期/小时/分钟/秒

EXTRACT(时间类型 FROM FROM_UNIXTIME(时间戳 / 1000))

以获取年份为例:

EXTRACT(YEAR FROM FROM_UNIXTIME(时间戳 / 1000))

1.5 计算bigint经历了多少年/月份/周/日期/小时/分钟/秒(舍弃掉比它小的时间单位)

TIMESTAMPDIFF(时间类型, FROM_UNIXTIME(基准时间戳 / 1000), FROM_UNIXTIME(bigint时间戳 / 1000))

2. datetime类型

2.1 将datetime类型转为date

DATE(时间)

2.2 将datetime类型转换为指定格式的varchar

DATE_FORMAT(时间, '%Y-%m-%d %H:%i:%s')

2.3 将datetime类型转换为年份/月份/周/日期/小时/分钟/秒/Time类型

  • 方式一:

EXTRACT(时间类型 FROM 时间)
  • 方式二:

时间类型(时间)

以获取年份为例:

YEAR(时间)

2.4 将datetime类型转为timestamp

UNIX_TIMESTAMP(时间)

2.5 计算datetime经历了多少年/月份/周/日期/小时/分钟/秒(舍弃掉比它小的时间单位)

TIMESTAMPDIFF(时间类型, 基准时间, 时间)

3. date类型

3.1 将date类型转为datetime

  • 方式一:

DATE_FORMAT(时间, '%Y-%m-%d 00:00:00')
  • 方式二:

STR_TO_DATE(时间, '%Y-%m-%d 00:00:00')
  • 方式三:自动隐式转换

3.2 将date类型转换为指定格式的varchar

DATE_FORMAT(时间, '%Y-%m-%d')

3.3 将date类型转换为年份/月份/日期

  • 方式一:

EXTRACT(时间类型 FROM 时间)
  • 方式二:

时间类型(时间)

以获取年份为例:

YEAR(时间)

3.4 将date类型转为时间戳

UNIX_TIMESTAMP(时间)

3.5 计算date经历了多少年/月份/周/日期/小时/分钟/秒(舍弃掉比它小的时间单位)

TIMESTAMPDIFF(时间类型, 基准时间, 时间)

4. timestamp类型

4.1 将timestamp转为datetime类型

  • 方式一:MySQL自动转换

  • 方式二:

FROM_UNIXTIME(时间戳 / 1000)

4.2 将timestamp转为date类型

DATE(时间戳)

4.3 将timestamp类型转换为指定格式的varchar

DATE_FORMAT(时间, '%Y-%m-%d %H:%i:%s')

4.4 将timestamp类型转换为年份/月份/周/日期/小时/分钟/秒/Time类型

  • 方式一:

EXTRACT(时间类型 FROM 时间)
  • 方式二:

时间类型(时间)

4.5 计算datetime经历了多少年/月份/周/日期/小时/分钟/秒(舍弃掉比它小的时间单位)

TIMESTAMPDIFF(时间类型, 基准时间, 时间)

5. varchar/char类型时间

5.1 将varchar/char类型转为datetime类型

STR_TO_DATE(时间, '%Y-%m-%d %H:%i:%S')

注意:如果时间为年月则输出为null

5.2 将varchar/char类型转为date类型

STR_TO_DATE(时间, '%Y-%m-%d')

5.3 将varchar/char类型转为timestamp类型

  • 方式一:

UNIX_TIMESTAMP(STR_TO_DATE(时间, '%Y-%m-%d %H:%i:%s'))
  • 方式二:

UNIX_TIMESTAMP('%Y-%m-%d %H:%i:%s')

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com