mysql时间戳怎么用 mysql时间戳和日期之间的转换

如何处理mysql中的时间戳读取问题1.MySQL获得当前时间戳函数:current_timestamp,current_timestamp()mysqlselectcurrent_timestamp,current_timestamp();+---------------------+---------------------+|current_timestamp|current_timestamp()|+---------------------+---------------------+|2008-08-0923:22:24|2008-08-0923:22:24|+---------------------+---------------------+2.MySQL(Unix时间戳、日期)转换函数:unix_timestamp(),unix_timestamp(date),from_unixtime(unix_timestamp),from_unixtime(unix_timestamp,format)下面是示例:selectunix_timestamp();--1218290027selectunix_timestamp('2008-08-08');--1218124800selectunix_timestamp('2008-08-0812:30:00');--1218169800selectfrom_unixtime(1218290027);--'2008-08-0921:53:47'selectfrom_unixtime(1218124800);--'2008-08-0800:00:00'selectfrom_unixtime(1218169800);--'2008-08-0812:30:00'selectfrom_unixtime(1218169800,'%Y%D%M%h:%i:%s%x');--'20088thAugust12:30:002008'3.MySQL时间戳(timestamp)转换、增、减函数:timestamp(date)--datetotimestamptimestamp(dt,time)--dt+timetimestampadd(unit,interval,datetime_expr)--timestampdiff(unit,datetime_expr1,datetime_expr2)--请看示例部分:selecttimestamp('2008-08-08');--2008-08-0800:00:00selecttimestamp('2008-08-0808:00:00','01:01:01');--2008-08-0809:01:01selecttimestamp('2008-08-0808:00:00','1001:01:01');--2008-08-1809:01:01selecttimestampadd(day,1,'2008-08-0808:00:00');--2008-08-0908:00:00selectdate_add('2008-08-0808:00:00',interval1day);--2008-08-0908:00:00MySQLtimestampadd()函数类似于date_add() 。selecttimestampdiff(year,'2002-05-01','2001-01-01');---1selecttimestampdiff(day,'2002-05-01','2001-01-01');---485selecttimestampdiff(hour,'2008-08-0812:00:00','2008-08-0800:00:00');---12selectdatediff('2008-08-0812:00:00','2008-08-0100:00:00');--7MySQLtimestampdiff()函数就比datediff()功能强多了,datediff()只能计算两个日期(date)之间相差的天数 。
什么是mysql 的时间戳【mysql时间戳怎么用 mysql时间戳和日期之间的转换】1、将时间转换为时间戳
[sql] view plaincopyprint?
select unix_timestamp('2009-10-26 10-06-07')
如果参数为空,则处理为当前时间
2、将时间戳转换为时间
[sql] view plaincopyprint?
select from_unixtime(1256540102)
有些应用生成的时间戳是比这个多出三位,是毫秒表示,如果要转换,需要先将最后三位去掉,否则返回NULL
UNIX_TIMESTAMP(date)
如果没有参数调用,返回一个Unix时间戳记(从'1970-01-01 00:00:00'GMT开始的秒数) 。如果UNIX_TIMESTAMP()用一个date参数被调用 , 它返回从'1970-01-01 00:00:00' GMT开始的秒数值 。date可以是一个DATE字符串、一个DATETIME字符串、一个TIMESTAMP或以YYMMDD或YYYYMMDD格式的 本地时间的一个数字 。
[sql] view plaincopyprint?
mysql select UNIX_TIMESTAMP();
- 882226357
mysql select UNIX_TIMESTAMP('1997-10-04 22:23:00');
- 875996580
当UNIX_TIMESTAMP被用于一个TIMESTAMP列,函数将直接接受值,没有隐含的“string-to-unix-timestamp”变换 。
FROM_UNIXTIME(unix_timestamp)
以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回unix_timestamp参数所表示的值,取决于函数是在一个字符串还是或数字上下文中被使用 。
[sql] view plaincopyprint?
mysql select FROM_UNIXTIME(875996580);
- '1997-10-04 22:23:00'
mysql select FROM_UNIXTIME(875996580) + 0;
- 19971004222300
FROM_UNIXTIME(unix_timestamp,format)
返回表示 Unix 时间标记的一个字符串,根据format字符串格式化 。format可以包含与DATE_FORMAT()函数列出的条目同样的修饰符 。
[sql] view plaincopyprint?
mysql select FROM_UNIXTIME(UNIX_TIMESTAMP(),
'%Y %D %M %h:%i:%s %x');
- '1997 23rd December 03:43:30 x'
通过 UNIX_TIMESTAMP 函数把 MySQL 数据库中的 date 类型数据转换成 unix timestamp 形式的一个整形数字:
[sql] view plaincopyprint?

推荐阅读