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

Python059

php怎么将指定日期转换为时间戳?,第1张

在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())。

在命令行窗口键入date,空一格,输入新日期,确认。

需要注意的问题:一、PHP时间大的来分有两种,一是时间戳类型(1228348800),二是正常日期格式2015-12-5。

二、php5.1以上时间戳会与实际时间相差8小时,解决办法如下:

1、最简单的方法就是不要用php5.1以上的版本--显然这是不可取的方法。

2、修改php.ini。打开php.ini查找date.timezone去掉前面的分号,后面加Asia/Shanghai,重启apache服务器即可。缺点就是如果程序。放到别人的服务器上,不能修改php.ini,那就奈何不得了。

3、在程序中添加时间的初始化的语句即:date_default_timezone_set(Asia/Shanghai)。