- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[日期和时间
日期和时间 高兴伟 目录 一、时区设置(更改时区) 在PHP中,日期、时间函数依赖于服务器的地区设置,而PHP默认设置的是标准的格林威治时间(采用0时区),如果没有对PHP的时区进行设置,则使用日期、时间函数获取的将是英国伦敦本地时间(零时区)。GMT UTC(世界协调时) 所以,要获取本地当前的时间,必须更改PHP语言中的时区设置,常用方法有两种:(1)在php.ini配置文件中更改;(2)使用date_default_timezone_set()函数设置。 1、在php.ini文件中设置时区: 定位到[date]下的;date.timezone=选项,去掉前面的分号(;),并设置它的值为当前所在时区使用的时间值。 东八区(北京所在时区,北京时间)的设置值为PRC、Asia/Shanghai(上海)或Asia/Urumqi(乌鲁木齐)/Asia/Chongqing等,都是东八区的时间。 设置完成后,重新启动Apache服务器。 2、使用date_default_timezone_set()函数设置时区: date_default_timezone_set(string timezone); 设定用于一个脚本中所有日期时间函数的默认时区。 参数timezone为PHP可识别的时区名称,如PRC(中华人民共和国)、Asia/Chongqing(重庆)、Asia/Shanghai(上海)或Asia/Urumqi(乌鲁木齐)这几个时区是等效的,如果时区名称PHP无法识别,则采用UTC时区。 注:如果服务器使用的是零时区,则不能直接对php.ini文件直接进行修改,只能通过该函数进行修改。 二、UNIX时间戳 在UNIX系统中,日期与时间表示为自1970年1月1日0点起到当前时刻的秒数,这种时间称为UNIX时间戳,它以32位二进制表示。1970年1月1日0点称为UNIX世纪元。注意:UNIX时间戳值是一个秒数。 UNIX时间戳提供了一种统一、简洁的时间表示方式,在不同的操作系统中均支持这种时间表示方式。同一时间在UNIX和Windows系统中均以相同的UNIX时间戳表示,所以不需要在不同的系统中进行转换。同时,UNIX时间戳是一个时间差,与时区没有关系(即只要当前时间定了,时间戳就定了,和哪个时区的时间无关,所以该函数对UNIX时间戳没影响),无论当前PHP中使用的是何种时区,其UNIX时间戳是唯一的。【同一个时间点上UNIX时间戳是一样的】 UNIX时间戳是以32位二进制表示的(32位最大值为2147483647),所以,目前UNIX时间戳可表示的最大时间为2038年1月19日3点14分7秒,该时刻时间戳为2147483647,对于该时刻之后的时间,需要扩展表示UNIX时间戳的二进制位数。 将日期、时间转换为UNIX时间戳的函数: 1、获取日期的时间戳:mktime()、gmmktime()。 int mktime(int hour,int minute,int second,int month,int day ,int year,int [is_dst]) (时分秒月日年的整数)将一个时间转换成UNIX时间戳,参数可以从右向左省略,任何省略的参数都会被设置成本地日期、时间的当前值(不设置值是获取的是本地时区当前日期、时间的时间戳值)。 gmmktime()函数获取的是UNIX时间戳的格林威治标准时间(GMT),除了获取的是格林威治标准时间外,其他的和mktime用法相同。 举例: 获取当前系统时间的UNIX时间戳: 2、获取当前时间戳:time() int time(void) 没有参数,返回值为当前系统时间的UNIX时间戳的整数值。 time()可以获取当前的UNIX时间戳,返回为从UNIX纪元到当前时间的秒数。 echo time(); 3、将日期、时间转换为UNIX时间戳: int strtotime(string time[,int now]) 接受一个包含英语日期格式的字符串并尝试将其解析为UNIX时间戳(自 January 1 1970 00:00:00 GMT起的秒数),其值相对于 now 参数给出的时间,如果没有提供此参数则用系统当前时间(自1970至now止)。 了解:第一个参数可以是我们常见的英文时间格式,比如“2008-8-20”或“10 September 2000”等等。也可以是以参数now为基准的时间描述,比如“+1 day”等等。 明白下面例子代表什么意思: 三、时期和时间处理 日期和时间处理函数: 1、将一个时间戳格式化成指定格式的日期时间值。 string date(string format,int timestamp) format指定日期和时间输出的格式。timesta
文档评论(0)