
MYSQL日期 字符串 时间戳互转
发布日期:2021-05-15 10:35:42
浏览次数:17
分类:精选文章
本文共 1901 字,大约阅读时间需要 6 分钟。
MySQL中日期和时间的处理是非常常见的操作,以下是一些实用的转换方法和技巧。这些方法将帮助你在不同的场景中灵活处理日期和时间数据。
时间转字符串
在MySQL中,DATE_FORMAT()
函数是处理日期转字符串的主要工具。以下是一个示例:
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') END_REFRESH; -- 2018-09-17 23:33:34
返回格式化后的日期字符串,例如年-月-日 时:分:秒。%Y
表示四位年份,%m
表示两位月份,%d
表示两位日期,%H
表示24小时制的小时,%i
表示两位分钟,%s
表示两位秒。
时间转时间戳
如果你需要将时间转换为 Linux 时间戳(秒数),可以使用unix_timestamp()
函数:
SELECT unix_timestamp(NOW()); -- 1537198489
返回当前时间的时间戳值,单位是秒。这个值可以在其他系统中解析为具体的时间。
字符串转时间
要将日期字符串转换回时间,可以使用str_to_date()
函数。例如:
SELECT str_to_date('2018-02-26', '%Y-%m-%d %H'); -- 2018-02-26 00:00:00
这里的 %Y-%m-%d %H
表示从字符串中提取四位年份、两位月份和两位日期,然后转换为指定的时间(默认为00:00:00)。
字符串转时间戳
如果你有一个日期字符串,可以通过unix_timestamp()
直接将其转换为时间戳。例如:
SELECT unix_timestamp('2018-09-17'); -- 1537113600
返回的秒数可以用于进一步处理。
时间戳转时间
要将时间戳转换回具体的时间,可以使用from_unixtime()
函数:
SELECT from_unixtime(1537113600); -- 2018-09-17 00:00:00
这个函数可以将时间戳转换为格式化的日期和时间。
时间戳转字符串
如果需要将时间戳转换为特定格式的字符串,可以结合from_unixtime()
和DATE_FORMAT()
使用:
SELECT from_unixtime(1537113600, '%Y-%d'); -- 2018-17
这里的 %Y-%d
表示四位年份和两位日期。注意,月份显示为数字形式,例如2018-09
而不是2018-September
。
附表
以下是MySQL中常用的日期格式化格式字符:
格式字符 | 描述 | 示例 |
---|---|---|
%S | 秒(两位数) | 00, 01, ..., 59 |
%s | 秒(两位数) | 00, 01, ..., 59 |
%I | 分(两位数) | 00, 01, ..., 59 |
%i | 分(两位数) | 00, 01, ..., 59 |
%H | 小时(24小时制,两位数) | 00, 01, ...,23 |
%h | 小时(12小时制,两位数) | 00, 01, ...,12 |
%k | 小时(24小时制,无前导零) | 0, 1, ...,23 |
%l | 小时(12小时制,无前导零) | 0, 1, ...,12 |
%T | 时间(HH:mm:ss) | 00:00:00, 23:59:59 |
%r | 时间(hh:mm:ss AM/PM) | 12:34:56 PM |
%p | AM/PM标识 | AM或PM |
%W | 星期(英文三letter abbreviation) | Sunday, Monday |
%a | 星期简写形式 | Sun, Mon, ..., Sat |
%w | 星期(数字形式,0=Sun, 1=Mon) | 0到6 |
%U | 星期中第n周的星期天(n=1起) | 1,2, ... |
%u | 星期中第n周的星期一(n=1起) | 1,2, ... |
%d | 天(两位数) | 01, 02, ...,31 |
%e | 天(数字形式) | 1,02, ...,31 |
%D | 英文天形式(如1st, 2nd) | 1st, 2nd, ...,31st |
%j | 截至当前日期的天数(三位数) | 366 |
%M | 月份英文名(如January) | January, February |
%b | 月份英文缩写(如Jan) | Jan, Feb, ..., Dec |
%m | 月份两位数字(01-12) | 01, 02, ...,12 |
%c | 月份数字(1-12) | 1,2, ...,12 |
%Y | 四位年份 | 2018,2019, ... |
%y | 两位年份 | 18,19, ... |
%w | 重复,已解释 | 不再重复 |
%f | 小数秒数 | .123456 |
通过合理使用这些格式字符,你可以根据具体需求自定义日期和时间的显示格式。
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月18日 14时20分26秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
LiteOS学习(一)任务
2019-03-12
随笔-调试小技巧
2019-03-12
PCL 点到面的ICP精配准(线性最小二乘优化)
2019-03-12
PCL Plotter不同类型的绘图方式
2019-03-12
PCL 无序点云的三角剖分
2019-03-12
PCL 法向量夹角剔除错误匹配点对
2019-03-12
解决宝塔安装wordpress无法连接到数据库问题
2019-03-12
多选组件aSwitch——属性选择系列组件库(design by yRan)
2019-03-12
PAT乙级 15分题目总结
2019-03-12
XSLT实现页内跳转
2019-03-12
Android LiveData使用文档
2019-03-12
1rem等于多少px (rem和px怎样转换)
2019-03-12
h5移动端旋转90度自适应网页
2019-03-12
vue.js 横向(时间轴、步骤图、流程图)模版
2019-03-12
CodeForces -1207F Remainder Problem(分块)
2019-03-12
2021牛客寒假第六场 系数 (数学)
2019-03-12
解决Eclipse加载图片或网页出现404错误
2019-03-12
a标签实现下载本地文件的功能
2019-03-12
vue 错误收集
2019-03-12