PHP 时间处理
1.获取当前时间:
$y = date("Y-m-d H-i-s");
获取当前时间节
time();
由于PHP 默认时区不是北京 时间 可以通过以下代码修改默认时区
方法一:在获取时间前加如下代码: date_default_timezone_set(PRC); 方法二:改php.ini里面的配制,具体操作如下: 打开php.ini查找date.timezone 去掉前面的分号= 后面加XXX(PRC),重启http服务(如apache2或iis等)即可 如:date.timezone=PRC 关于XXX,大陆内地可用的值是:Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi ,PRC(依次为重庆,上海,乌鲁木齐,中华人民共和国) 港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北) 还有新加坡:Asia/Singapore 其它:Etc/GMT-8 ,Singapore ,Hongkong 方法三:echo date("Y-m-d H:i:s", time()+8*60*60);
2. 自己设置日期; 同时计算时间差【计算时间差的时候 必须转化为 时间戳 ;】 【设置指定时间戳,必须 先设置指定的 日期格式 再转化为时间戳 : 如下】
拼接字符串 : 拼写指定 日期字符串-->转化为时间戳-->使用时间戳进行计算
<?php $time = "2017-2-4 17:22:22"; $tima = "2017-02-05 07:22:22"; $yi = strtotime($time); $ya = strtotime($tima); $yt = $ya - $yi; var_dump($yt); echo "yt";
3. 分别单独添加年 或 月 或 日;(+号 也可以 改为 - 号;则算减法)
添加小时:
$time = "2017-2-4 17:22:22"; $yi = strtotime($time); $ykk = date("Y-m-d H-i-s",strtotime("+1hour",$yi)); var_dump($ykk); 输出:string '2017-02-04 18-22-22' (length=19)
【同理添加】 hour也可以改成year(年),month(月),day(小时),minute(分),second(秒)
<?php echo(strtotime("now")); echo(strtotime("3 October 2005")); echo(strtotime("+5 hours")); echo(strtotime("+1 week")); echo(strtotime("+1 week 3 days 7 hours 5 second"));//添加多个____注意 echo(strtotime("next Monday")); echo(strtotime("last Sunday")); ?>
4.创建时间:[专业的] mktime() 语法
mktime() 函数可为指定的日期返回 Unix 时间戳。
Unix 时间戳包含了 Unix 纪元(1970-01-01 00:00:00 GMT)和指定时间之间的秒数。
mktime(hour,minute,second,month,day,year,is_dst)
<?php $tomorrow = mktime(0,0,0,date("m"),date("d")+1,date("Y")); echo "Tomorrow is ".date("Y/m/d", $tomorrow); ?> 结果:Tomorrow is 2009/05/12