您的位置:首页 > 编程语言 > PHP开发

PHP基础笔记【4】时间处理

2017-04-03 00:00 141 查看
一、php系统的时区设置
更改PHP语言中的时区设置有如下两种方法
(1)修改php.ini文件中的设置,找打[data]下的;date.timezone = 选项,去掉前面的引号,修改为:date.timezone = PRC(PRC为中华人名共和国时区),然后重启Apache。
(2)在应用程序中,需在使用时间日期函数前添加如下函数
date_default_timezone_set(timezone);

echo "UTC时间:".date("Y-m-d H:i:s")."<br>";
date_default_timezone_set("PRC");
echo "北京时间:".date("Y-m-d H:i:s")."<br>";
echo "当前时区:".date_default_timezone_get()."<br>";
运行结果为:
UTC时间:2016-03-26 07:19:57
北京时间:2016-03-26 15:19:57
当前时区:PRC

二、时间处理
1、time()  获取当前时间
2、date() 格式化时间戳
3、strtotime() 日期转化为时间戳
4、mktime() 把一个时间转为时间戳
5、getdate(int timestamp) 获取日期信息
6、checkdate()  检查年月日的有效性

2.1. 日期的加减
<?php
echo "今天:",date('Y-m-d H:i:s'),"<br>";
echo "明天:",date('Y-m-d H:i:s',strtotime('+1 day'));
?>
上一行输出当前时间,下一行输出明天时间
这里+1 day
可以修改参数1为任何想需要的数  day也可以改成year(年),month(月),hour(小时),minute(分),second(秒)
如
date('Y-m-d H:i:s',strtotime("+1 day +1 hour +1 minute");
可以随便自由组合,以达到任意输出时间的目的
注:该方法之针对1970年以后试用,也就是时间戳的适用范围。
php 常用日期相函数[日期加减,两日期之差,日期转换时间截]

echo "一周后:".date("Y-m-d",strtotime("+1 week")). "<br>";
echo "一周零两天四小时两秒后:".date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds")). "<br>";
echo "下个星期四:".date("Y-m-d",strtotime("next Thursday")). "<br>";
echo "上个周一:".date("Y-m-d",strtotime("last Monday"))."<br>";
echo "一个月前:".date("Y-m-d",strtotime("last month"))."<br>";
echo "一个月后:".date("Y-m-d",strtotime("+1 month"))."<br>";
echo "十年后:".date("Y-m-d",strtotime("+10 year"))."<br>";

2.2.1.获取星期几
$weekarray=array("日","一","二","三","四","五","六");
echo "星期".$weekarray[date("w")];
2.2.2获取指定日期的星期几
$weekarray=array("日","一","二","三","四","五","六");
echo "星期".$weekarray[date("w",strtotime("2011-11-11"))];

三、实例:
1.下面函数计算两日期之差
$Date_1="2009-07-08";
echo $Date_1+1;
$Date_2="2009-06-08";
$Date_List_a1=explode("-",$Date_1);
$Date_List_a2=explode("-",$Date_2);
$d1=mktime(0,0,0,$Date_List_a1[1],$Date_List_a1[2],$Date_List_a1[0]);
$d2=mktime(0,0,0,$Date_List_a2[1],$Date_List_a2[2],$Date_List_a2[0]);
$Days=round(($d1-$d2)/3600/24);
echo "两日期之前相差有$Days 天";
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php 时间 date time