前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >from_unixtime函数类型_localtime_r函数

from_unixtime函数类型_localtime_r函数

作者头像
全栈程序员站长
发布2022-09-20 14:45:23
1.5K0
发布2022-09-20 14:45:23
举报
文章被收录于专栏:全栈程序员必看

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

Unix时间戳(Unix timestamp),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。

在MySQL中如何格式化时间戳? 在mysql中因为timestamp无法支持到毫秒,所以很多时候采用毫秒进行存储。那么如何将存储在数据库中Int类型的时间,如: 1344954515 ,转换成我们正常可以肉眼能看懂的时间格式呢?

我们一般都使用FROM_UNIXTIME函数。 FROM_UNIXTIME(unix_timestamp,format) unix_timestamp为需要处理的时间戳(该参数是Unix 时间戳),可以是字段名,也可以直接是Unix 时间戳字符串。 format为需要转换的格式 mysql官方手册的解释为:返回’YYYY-MM- DD HH:MM:SS’或YYYYMMDDHHMMSS 格式值的unix_timestamp参数表示,具体格式取决于该函数是否用在字符串中或是数字语境中。若format 已经给出,则结果的格式是根据format 字符串而定。 format的格式和日常的编程语言的时间格式是保持一致的。 例如:

代码语言:javascript
复制
 mysql>
select
FROM_UNIXTIME(1344954515,
'%Y-%m-%d %H:%i:%S'
);
+
-----------------------------------------------+
| FROM_UNIXTIME(1344954515,
'%Y-%m-%d %H:%i:%S'
) |
+
-----------------------------------------------+
| 2012-08-14 22:28:35                           |
+
-----------------------------------------------+
1 row
in
set
(0.00 sec)

UNIX_TIMESTAMP()是与之相对的时间函数 UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date) 官方手册解释为:若无参数调用,则返回一个 Unix timestamp (‘1970-01-01 00:00:00′ GMT 之后的秒数) 作为无符号整数。若用date 来调用 UNIX_TIMESTAMP(),它会将参数值以’1970-01-01 00:00:00’ GMT后的秒数的形式返回。 date 可以是一个 DATE 字符串、一个 DATETIME字符串、一个 TIMESTAMP或一个当地时间的YYMMDD 或YYYMMDD格式的数字。

例如:

代码语言:javascript
复制
 mysql>
select
UNIX_TIMESTAMP(
'2012-09-04 18:17:23'
);
+
---------------------------------------+
| UNIX_TIMESTAMP(
'2012-09-04 18:17:23'
) |
+
---------------------------------------+
|                            1346753843 |
+
---------------------------------------+
1 row
in
set
(0.00 sec)

实际应用中,我们可以将格式转换为毫秒的与数据库中进行比较,也可以将数据库的Int格式转换为普通格式进行比较。 例如:查询所有创建日期大于2012-09-03 18:00:00之后的博客数据 方法一:将日期转换为int比较

代码语言:javascript
复制
select
*
from
blog
where
createdTime > UNIX_TIMESTAMP(
'2012-09-03 18:00:00'
);

方法二:将int转换为时间格式比较

代码语言:javascript
复制
select
*
from
blog
where
FROM_UNIXTIME(createdTime,
'%Y-%m-%d %H:%i:%S'
) >
'2012-09-03 18:00:00'
; 

下列修饰符可以被用在format字符串中,可以组合一些常见日期格式: %M 月名字(January……December) %W 星期名字(Sunday……Saturday) %D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。) %Y 年, 数字, 4 位 %y 年, 数字, 2 位 %a 缩写的星期名字(Sun……Sat) %d 月份中的天数, 数字(00……31) %e 月份中的天数, 数字(0……31) %m 月, 数字(01……12) %c 月, 数字(1……12) %b 缩写的月份名字(Jan……Dec) %j 一年中的天数(001……366) %H 小时(00……23) %k 小时(0……23) %h 小时(01……12) %I 小时(01……12) %i 分钟, 数字(00……59) %r 时间,12 小时(hh:mm:ss [AP]M) %T 时间,24 小时(hh:mm:ss) %S 秒(00……59) %s 秒(00……59) %p AM或PM %w 一个星期中的天数(0=Sunday ……6=Saturday ) %U 星期(0……52), 这里星期天是星期的第一天 %u 星期(0……52), 这里星期一是星期的第一天

%% 一个文字“%”。

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档