php怎么将指定日期转换为时间戳?

如题所述

第1个回答  2018-04-10
在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())。