十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
在MySQL中完成 。
创新互联网站建设服务商,为中小企业提供成都网站设计、做网站服务,网站设计,网站托管等一站式综合服务型公司,专业打造企业形象网站,让您在众多竞争对手中脱颖而出创新互联。
下面介绍两种php将指定日期转换为时间戳的方法:
第一种:在MySQL中完成
这种方式在MySQL查询语句中转换,优点是不占用PHP解析器的解析时间,速度快,缺点是只能用在数据库查询中,有局限性。
UNIX时间戳转换为日期用函数: FROM_UNIXTIME()
一般形式:select FROM_UNIXTIME(1156219870);
日期转换为UNIX时间戳用函数: UNIX_TIMESTAMP()
一般形式:Select UNIX_TIMESTAMP('2006-11-04 12:23:00′);
举例:mysql查询当天的记录数:
$sql=”select * from message Where DATE_FORMAT(FROM_UNIXTIME(chattime),'%Y-%m-%d') = DATE_FORMAT(NOW(),'%Y-%m-%d') order by id desc”;
当然大家也可以选择在PHP中进行转换,下面说说在PHP中转换。
第二种:在PHP中完成 这种方式在PHP程序中完成转换,优点是无论是不是数据库中查询获得的数据都能转换,转换范围不受限制,缺点是占用PHP解析器的解析时间,速度相对慢。
UNIX时间戳转换为日期用函数: date() 一般形式:date('Y-m-d H:i:s', 1156219870);
日期转换为UNIX时间戳用函数:strtotime() 一般形式:strtotime('2010-03-24 08:15:42')
php中时间转换函数strtotime(date()) date("Y-m-d H:i",$unixtime)
php中获得今天零点的时间戳 要获得零点的unix时间戳,可以使用$todaytime=strtotime(“today”),然后再使用date("Y-m-d H:i",$todaytime)转换为日期。
时间戳转换函数:date("Y-m-d H:i:s",time()),"Y-m-d H:i:s"是转换后的日期格式,time()是获得当前时间的时间戳。如果是date("Y-m-d H:i:s",time()),则小时分秒一起显示;如果是date("Y-m-d ", time()),只显示年月日。例如:date("Y-m-d H:i:s",time())转换后为:2010-07-18 18:42:48 date("Y-m-d",time())。
select UNIX_TIMESTAMP()
select UNIX_TIMESTAMP(CURRENT_TIMESTAMP(3)) 1000
或
select UNIX_TIMESTAMP(NOW(3)) 1000
3代表小数点后3位小数(也就到毫秒)
select unix_timestamp(CURDATE())*1000
SELECT unix_timestamp(DATE_ADD(CURDATE(), INTERVAL 9 HOUR))*1000
SELECT DATE_ADD(CURDATE(), INTERVAL 24 HOUR)
如果算毫秒数就unix_timestamp,再*1000
SELECT DATE_SUB(CURDATE(),INTERVAL 1DAY)
如果算毫秒数就unix_timestamp,再*1000
可以按小时查询,你可以参考下
时间 记录数
time num
SELECT DATE_FORMAT(time,'%Y-%m-%d-%H') as tday,count(num) from table group by tday;
mySql 5.1版本以上有一个event事件,可以让它在0点时自动运行,实现步骤如推荐的答案,但是我建议你直接用heidiSQL,很快就生成了