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

时间:2022-09-22 15:41:46

数据库的使用中,经常需要按指定日期来查询记录,以便于统计,而在数据库中,有很多存储的是时间戳,

 

也有的直接存日期,查询的时候可能不是那么好弄.

 

mysql提供了两个函数:

 

          from_unixtime(time_stamp)   ->  将时间戳转换为日期

 

          unix_timestamp(date)             ->  将指定的日期或者日期字符串转换为时间戳

[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') ;