欢迎来到天天文库
浏览记录
ID:50301939
大小:1.42 MB
页数:23页
时间:2020-03-07
《PHP应用开发与实践 教学课件 作者 马骏 第12章 日期和时间.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、本章要求:第12章日期和时间PHP的时间观念在PHP配置文件PHP.INI中设置服务器的时区通过date_default_timezone_set()函数设置网站当前时区获取任意日期、时间的UNIX时间戳获取当前时间戳将日期、时间转换为时间戳日期和时间的格式化输出获取当前日期和时间验证日期和时间的有效性主要内容1.PHP的时间观念2.UNIX时间戳3.日期和时间处理4.综合实例——倒计时第12章日期和时间12.1PHP的时间观念12.1.1在PHP.INI文件中设置时区12.1.2通过date_default_timezone_set函数设置时区在php.in
2、i文件中设置时区,需要定位到[date]下的“;date.timezone=”选项,去掉前面的分号,并设置它的值为当地所在时区使用的时间。例如,如果当地所在时区为东八区,就可以设置“date.timezone=”的值为:PRC(中华人民共和国)、Asia/Hong_Kong(香港)、Asia/Shanghai(上海)或者Asia/Urumqi(乌鲁木齐)等,这些都是东八区的时间。如图12-1所示。图12-1设置PHP的时区设置完成后,保存文件,重新启动Apache服务器。12.1.1在PHP.INI文件中设置时区在应用程序中,在日期、时间函数之前使用date_
3、default_timezone_set()函数同样可以完成对时区的设置。date_default_timezone_set()函数的语法如下:date_default_timezone_set(timezone);参数timezone为PHP可识别的时区名称,如果时区名称PHP无法识别,则系统采用UTC时区。例如:设置北京时间可以使用的时区包括:PRC、Asia/Chongqing(重庆),Asia/Shanghai(上海)或者Asia/Urumqi(乌鲁木齐),这几个时区名称是等效的。说明:如果服务器使用的是零时区,则不能对php.ini文件直接进行修改,
4、只能通过date_default_timezone_set()函数对时区进行设置。12.1.2通过date_default_timezone_set函数设置时区12.2UNIX时间戳12.2.1获取任意日期、时间的时间戳12.2.2获取当前时间戳12.2.3日期、时间转换为UNIX时间戳mktime()函数将一个时间转换成Unix时间戳。语法如下:intmktime(inthour,intminute,intsecond,intmonth,intday,intyear,int[is_dst])mktime()函数根据给出的参数返回Unix时间戳。其参数可以从右
5、向左省略,任何省略的参数都会被设置成本地日期、时间的当前值(即不设置任何参数,mktime()函数获取的是本地当前日期和时间)。mktime()函数的参数说明如表12-2所示。表12-2mktime()函数的参数说明说明:有效的时间戳范围是格林威治时间1901年12月13日20:45:54到2038年1月19日03:14:07。(此范围符合32位有符号整数的最小值和最大值)。在Windows系统中此范围限制为从1970年1月1日到2038年1月19日。12.2.1获取任意日期、时间的时间戳参数说明hour小时数minute分钟数second秒数(一分钟之内)m
6、onth月份数day天数year年份数,可以是两位或四位数字,0-69对应于2000-2069,70-100对应于1970-2000。is_dst参数is_dst在夏令时可以被设为1,如果不是则设为0;如果不确定是否为夏令时则设为-1(默认值)【例12-1】应用mktime()函数获取当前时间的时间戳,代码如下。运行结果为:1287628331上述讲解的mktime()函数在不设置任何参数的情况下可以获取当前时间的时间戳,但是PHP也提供了专门的获取当前时间时间戳的函数,那就是time()函数。time()
7、函数获取当前的UNIX时间戳,返回值为从UNIX纪元(格林威治时间1970年1月1日00:00:00)到当前时间的秒数。语法如下:inttime(void)time()函数没有参数,返回值为UNIX时间戳的整数值。【例12-2】应用time()函数获取当前时间的时间戳,代码如下。运行结果为:128762834812.2.2获取当前时间戳strtotime()函数将任何英文文本的日期时间描述解析为UNIX时间戳。语法如下:intstrtotime(stringtime[,intnow])strtotime()函数
8、接受一个包含英语日期格式的字符串并尝试
此文档下载收益归作者所有