MySQL时间戳与日期时间转换

MySQL时间戳与日期时间转换MySQL日期转时间戳:UNIX_TIMESTAMP(日期时间)MySQL时间戳转日期:FROM_UNIXTIME(时间戳,日期时间格式);

大家好,又见面了,我是你们的朋友全栈君。

时间戳与日期时间转换

参考:mysql 将时间戳直接转换成日期时间 – snn1410

-- 1、将时间戳转换为日期时间
SELECT FROM_UNIXTIME( 1585108245.567);
运行结果:2020-03-25 11:50:45.567

-- 也可以使用修饰符自定义格式
SELECT FROM_UNIXTIME( 1585108245.567,'%Y年%m月%d日 %H时%i分%S秒 %f');
运行结果: 20200325115045567000  --详解下翻

-- 2、若时间戳为负数,该方法的结果为null值
select FROM_UNIXTIME(-2);
运行结果:null

-- 解决方法:使用函数 DATE_ADD(date,INTERVAL expr type);
select DATE_ADD(FROM_UNIXTIME(0),INTERVAL -2 SECOND);
运行结果:1970-01-01 07:59:58  --详解下翻
-- 将日期转换为时间戳
select UNIX_TIMESTAMP('2020-03-25 11:11:45');
运行结果: 1585105905

-- 其无参方法将当前系统时间转换为时间戳
select UNIX_TIMESTAMP();
运行结果: 1585108852

详细:
FROM_UNIXTIME()函数,具体如下

  • FROM_UNIXTIME(unix_timestamp,format) 返回表示 Unix 时间标记的一个字符串,根据format字符串格式化。
  • 下列修饰符可以被用在format字符串中(粗体为常用):
修饰符 含义 值例举
%Y 年,4 位数字 2019
%y 年,后 2 位数字 19
%M 月,英文名 January……December
%m 月,数字,不足两位数补0 01……12
%b 月,英文缩写 Jan……Dec
%c 月,数字 1……12
%D 日,英文序数 1st、2nd、3rd、
%d 日,数字,不足两位数补0 00……31
%e 日,数字 0……31
%j 一年中的第n天,不足三位数补0 001……366
%W 星期,英文名 Sunday……Saturday
%w 星期,数字 0=Sunday ……6=Saturday
%a 星期,英文缩写 Sun……Sat
%U 一年中的第n星期 0……52,这里星期天是星期的第一天
%u 一年中的第n星期 0……52,这里星期一是星期的第一天
%H 时,24时制,不足两位数补0 00……23
%h 时,12时制,不足两位数补0 01……12
%k 时,24时制 0……23
%I (大写的 i) 时,12时制,不足两位数补0 01……12
%l (小写的 L) 时,12时制 1……12
%i 分,数字,不足两位数补0 00……59
%S 秒,不足两位数补0 00……59
%f 毫秒,不足6位补0 0.000000 …… 0.999999
%s 秒,不足两位数补0 00……59
%p AM或PM
%r 时间,12小时制 hh:mm:ss [AP]M
%T 时间,24小时制 hh:mm:ss
%% 字符“%”

DATE_ADD()函数,具体如下

  • DATE_ADD(date,INTERVAL expr type),该函数可以得到在原有的日期时间上增加一段时间后的日期时间。
  • date参数为日期时间格式的数据;
  • INTERVAL为关键字;
  • type为时间单位。
  • 在上面的SQL例子中,即为在基准时刻 1970-01-01 08:00:00 的基础上加上 -2 秒,得到了时刻 1970-01-01 07:59:58
  • 关于基准时刻需要注意,它是根据不同时区来设定的。我们国内是使用的东八区的时区,所以基准时刻是08:00:00,若是在0时区,则基准时刻为00:00:00。至于MySQL数据库是根据哪里判断的时区,还不清楚,以后补充。

参考:
Mysql中处理1970年前的日期(unixtime为负数的情况)负数时间戳格式化 – 与f

type值 预期的expr格式
MICROSECOND 整数
SECOND 整数
MINUTE 整数
HOUR 整数
DAY 整数
WEEK 整数
MONTH 整数
QUARTER 整数(季节)
YEAR 整数
SECOND_MICROSECOND ‘秒.毫秒’
MINUTE_MICROSECOND ‘分钟数.毫秒’
MINUTE_SECOND ‘分:秒’
HOUR_MICROSECOND ‘小时数.毫秒’
HOUR_SECOND ‘时:分:秒’
HOUR_MINUTE ‘时:分’
DAY_MICROSECOND ‘日期号数.毫秒’
DAY_SECOND ‘日 时:分:秒’
DAY_MINUTE ‘日 时:分’
DAY_HOUR ‘日 小时’
YEAR_MONTH ‘年-月’
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151927.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • POJ 3982 序列 塔尔苏斯问题解决

    POJ 3982 序列 塔尔苏斯问题解决

    2022年1月8日
    45
  • Web Worker详解

    Web Worker详解WebWorker1.WebWorker概述最近在看一些关于WebWorker的数据和视频,把以下重点分享给大家(推荐有基础的小伙伴收藏)客户端JavaScript其中一个基本的特性就是单线程,比如浏览器无法同时运行两个事件处理程序,也无法在一个事件处理程序运行的时候触发定时器。之所以设置单线程的理论就是,客户端的JavaScript的函数不能运行太长时间,否则会导致循环事件,…

    2025年5月22日
    4
  • 狗网skinsdog CSGO开箱子网站支持直接取回,全新任务系统上线

    狗网skinsdog CSGO开箱子网站支持直接取回,全新任务系统上线skinsdog狗网CSGO饰品皮肤开箱网站可直接取回狗网skinsdogCSGO开箱子网站支持直接取回,全新任务系统上线官方链接:skinsdog.cc注册登录自动免费获得$0.8美金推广码:csgogo(注册使用送0.8美金)支付:微信支付宝状态:直接取回…

    2022年9月27日
    3
  • redis雪崩原因_什么是redis雪崩

    redis雪崩原因_什么是redis雪崩1、每天和技术水友,提三个问题。不喜勿喷。redis雪崩效应:1、redis缓存的时间同时失效或者无效的key,落地到db层,导致db层压力过大,引发一系列的功能不可用解决措施:以下穷逼公司解决方案:1、redis设置时间加入随机时间2、数据量少考虑加入本地缓存3、限流(TODO:用户体验不好)4、互斥锁(TODO:用的不好,系统分分钟down掉)5、定时任务(TODO:小心点,别乱塞)此乃富有公司最终解决方案6、加服务器(最终解决方案,一台不行加10台)…

    2022年9月14日
    1
  • 中国人口数据可视化_人口出生率预测

    中国人口数据可视化_人口出生率预测去年我国出生率跌破1%……全国出生人口创新低,负增长将提前,未来14年将有36776万人变老……人口下降螺旋一旦形成,一个传承了几千年的大华夏族,几百年内,即将在世界民族之林中,消亡……光看到这些标题就骇人视听。我国是世界人口大国,有14.1亿人口,出生率怎会跌破1%了呢?造成出生率下跌的原因是复杂多样的,不过出生率下跌已成事实。出生率创新低国家统计局日前发布《中国统计年鉴2021》,数据显示,2020年全国人口出生率为8.52‰,首次跌破10‰,创下了197

    2025年8月26日
    7
  • idea2022.01.12密钥激活码[最新免费获取]

    (idea2022.01.12密钥激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年4月1日
    936

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号