mysql查询时间戳和日期的转换

 
数据库的使用中,经常需要按指定日期来查询记录,以便于统计,而在数据库中,有很多存储的是时间戳,
 
也有的直接存日期,查询的时候可能不是那么好弄.
 
mysql提供了两个函数:
 
          from_unixtime(time_stamp)   ->  将时间戳转换为日期
 
          unix_timestamp(date)             ->  将指定的日期或者日期字符串转换为时间戳
 
 
如:   from_unixtime(time_stamp)
[plain]
select from_unixtime(1382544000); 
+---------------------------+ 
| from_unixtime(1382544000) | 
+---------------------------+ 
| 2013-10-24 00:00:00       | 
+---------------------------+ 
如: unix_timestamp(date)
 
[plain]
select unix_timestamp(date('2013-10-24')); 
+------------------------------------+ 
| unix_timestamp(date('2013-10-24')) | 
+------------------------------------+ 
|                         1382544000 | 
+------------------------------------+ 
 
如果要查询当天的订单的记录:
[plain]
select count(*) from b_order Where  date_format(from_unixtime(create_time),'%Y-%m-%d') = date_format(now(),'%Y-%m-%d'
 
也可以这样:
[plain]
select count(*) from b_order Where  create_time >= unix_timestamp('2013-10-24 00:00:00') and create_time <=  unix_timestamp('2013-10-24 23:59:59') ; 
 例:
SELECT NOW(),UNIX_TIMESTAMP()

UPDATE `order` SET `status` = 'closed' WHERE `pay_status` = 'wait_pay' AND UNIX_TIMESTAMP()>create_time+172800

SELECT create_time+172800,date_add(now(), interval 1 hour),FROM_UNIXTIME(create_time,'%Y%m%d %H'), FROM_UNIXTIME(create_time,'%Y%m%d %H') FROM `order`
原文地址:https://www.cnblogs.com/niuben/p/11159078.html