PHP学习十二--日期和时间

日期时间函数库是PHP内置函数库,可以通过日期时间函数库获得服务器的日期时间相关内容。

1.在地球分为24个时区,每个时区都有自己的本地时间。在国际无线电通信领域,使用一个统一的时间,成为通用协调时间---UTC,与格林威治标准时间相同。PHP中默认设置的是格林威治标准时间,即采用零时区,因此要获取本地当前时间必须更改PHP语言中的时区设置。

更改PHP语言中的时区设置有两种方法:

(1).修改php.ini文件中的设置,找到【date】下的date.timezone = 选项,修改为date.timezone = Asia/HongKong。然后重新启动阿帕奇服务器。

(2).在应用程序中,在使用时间日期函数之前添加如下函数:

date_default_timezone_set(timezone);

参数timezone为PHP可识别的时区名称,如果PHP无法识别,则系统采用UTC时区。

(3).通过ini_set()动态设置时区。

2.(1).获取本地化时间戳

PHP中使用mktime()函数将一个时间转换为UNIX的时间戳。

语言格式:int mktime(int hour,int minute,int second,int mouth,int day,int year,int is_dst);

echo "mktime 函数返回的时间戳:".mktime();                               //函数返回的时间戳:120128....

echo "当前的日期为:".date("Y-m-d",mktime())"<p>"                   //当前的日期为:2008-01-23

(2).获取当前时间戳

语法格式:int time(void)    返回值为从UNIT纪元(格林威治时间1970年1月1日)到当前时间的秒数。

(3).获取当前日期和时间

语法格式:date(string format[int timestamp]);

(4).获取日期信息

array getdate(int timestamp);

getdate()函数返回数组形式的日期和时间信息,如果没有参数timestamp,则以当前时间为准。

关联数组元素:seconds,minutes,hours,mday(月份中的第几天,返回1~31),wday(星期中的第几天,返回值为0~6),mon,year,yday(一年中的第几天),weekday,mouth

$arr = getdate();

echo $arr[year]."-".$arr[mon]."-".$arr[mday]."";       //2017-03-30

(5).检测日期的有效性

PHP中内置了日期检查函数,就是checkdate()函数

语法格式:bool checkdate(int mouth,int day,int year);

(6).输出格式化的日期和时间

date() 函数用于格式化时间,返回一个字符串。

语法:

string date( string format [, int timestamp] )

参数 format 表示时间格式化的方式,可能的方式如下:

格式化方式说明:  
格式化方式说明
Y 4位数字年,y为2位数字,如99即1999年
m 数字月份,前面有前导0,如01。n 为无前导0数字月份
F 月份,完整的文本格式,例如 January 或者 March
M 三个字母缩写表示的月份,例如 Jan 或者 Mar
d 月份中的第几天,前面有前导0,如03。j 为无前导0的天数
w 星期中的第几天,以数字表示,0表示星期天
z 年份中的第几天,范围0-366
W 年份中的第几周,如第32周
H 24小时格式,有前导0,h为12小时格式
G 24小时格式,无前导0,g为对应12小时格式
i 分钟格式,有前导0
s 秒格式,有前导0
A 大写上下午,如AM,a为小写

 

 

 

 

 

 

 

 

 

 

可选参数 timestamp 表示时间戳,默认为 time() ,即当前时间戳。

我们可以通过 date() 函数提供的丰富格式化来显示需要的时间日期,如下面的例子:

date("Y-m-d",time());		//显示格式如 2008-12-01
date("Y.m.d",time());		//显示格式如 2008.12.01
date("M d Y",time());		//显示格式如 Dec 01 2008
date("Y-m-d H:i",time());	//显示格式如 2008-12-01 12:01

 (7).显示本地化的日期和时间

使用setlocate()函数和strtime()函数来设置本地化环境和格式化输出日期和时间。

1.setlocate()函数,可以改变PHP默认的本地化环境

string setlocate(string category);

LC_ALL 包含了下面所有的设置本地化规则

LC_COLLATE 字符串比较

LC_CTYPE  字符串分类和转换,如大小写转换

LC_MONETARY 本地化环境的货币形式

LC_NUMERIC   本地化环境的数值形式

LC_TIME   本地化环境的时间形式

2.strtime()函数,根据本地化环境设置来格式化输出时间和日期

string strtime(string formart ,int timestamp);

3.将日期和时间解析为UNIX时间戳

int strtotime(string time);

echo strtotime("now");当前时间的时间戳//距离1970.01.01的所有秒数

date("Y-m-d",strtotime("now"));       //2017-03-31

 

posted @ 2017-03-31 11:07  墨VS雪  阅读(926)  评论(0编辑  收藏  举报