MySQL的FROM_UNIXTIME()和UNIX_TIMESTAMP()函数的区别

本文介绍在MySQL中如何使用FROM_UNIXTIME和UNIX_TIMESTAMP函数处理时间戳,包括格式化时间戳为可读格式,以及将日期转换为Unix时间戳进行比较。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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的格式和日常的编程语言的时间格式是保持一致的。 
例如: 

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格式的数字。 

例如: 

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比较 

select * from blog where createdTime > UNIX_TIMESTAMP('2012-09-03 18:00:00' ); 


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

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), 这里星期一是星期的第一天 

%% 一个文字“%”。

 

本文首发于度外网络官方博客,转载请注明出处:http://www.duwaiweb.com/blog/20120904_ce7309cf-e25a-45f7-8397-0700fa459466.html

更多java毕业设计请访问:http://www.lunwenhui.com/java/page_5.html

转载于:https://www.cnblogs.com/duwaiweb/archive/2012/09/26/2704908.html

IVMS-4200用户手册云盘是指将IVMS-4200软件用户手册存储在云盘上的一种方式。IVMS-4200是海康威视(Hikvision)公司开发的一款视频监控管理软件,用户手册是为了帮助用户更好地了解和使用该软件而编写的说明书。 云盘是指通过网络将数据存储在云服务器上,用户可以通过网络访问、传输和管理云盘中的数据。将IVMS-4200用户手册存储在云盘上有以下几个优点: 首先,便捷性。用户无需下载和安装软件,只需通过浏览器登录云盘账号,就可以随时随地查阅用户手册。无论在何地、何时,只要有网络连接,就能方便地获取手册内容。 其次,共享性。云盘是一个共享的平台,多个用户可以同时访问同一个云盘上的用户手册。这就方便了团队协作和知识共享,不同用户之间可以互相学习和交流使用经验。 再次,实时更新。云盘上存储的用户手册可以随时进行更新和替换。开发者可以在云盘上上传新版本的手册,用户只需刷新页面即可查看最新的内容,减少了传统的纸质手册印刷、分发和更新的时间和成本。 最后,安全性。云盘通常具有安全机制,如账号密码验证、数据加密等,确保用户手册的安全性和隐私性。即使用户的电脑或移动设备丢失或损坏,手册仍然安全保存在云盘上,用户不会丢失使用说明。 综上所述,将IVMS-4200用户手册存储在云盘上,可以提高使用者的便捷性、共享性、实时更新性和安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值