PHP中几个常用的时间应用方式_PHP教程

php中文网
发布: 2016-07-20 10:56:56
原创
1202人浏览过

php中默认设置是标准的格林威治时间(零时区),所以如果要获得本地时间必须修改php的默认时区(八时区,除非您是外国的朋友,我想很少吧)。

PHP系统时区设置

修改PHP系统时区的两种方式:

1、修改php.ini文件中的设置,找到[date]下的“;date.timezone=”,将该项修改为date.timezone=Asia/Hong_Kong (PRC 中国时间),然后重新启动Apache服务器。

2、在应用程序中,使用时间日期函数之前添加“date_default_timezone_set(“Asia/Hong_Kong”)”函数

立即学习PHP免费学习笔记(深入)”;

修改php.ini文件后获取本地时间:

php代码:

<ol class="dp-c"><li class="alt"><span><span><?php  </span></span></li><li><span class="func">echo</span><span> &ldquo;现在是北京时间:&rdquo;.</span><span class="func">date</span><span>(&ldquo;Y-m-d H:i:s&rdquo;).&rdquo;<p>&rdquo;;  </span></li><li class="alt"><span>?> </span></li></ol>
登录后复制

显示结果:

现在是北京时间:2010-11-30 20:50:03 (与本地时间相符)

php.ini修改后的代码:

<ol class="dp-c"><li class="alt"><span><span>[</span><span class="func">Date</span><span>]  </span></span></li><li><span>; Defines the </span><span class="keyword">default</span><span> timezone used by the </span><span class="func">date</span><span> functions  </span></li><li class="alt"><span>; http:</span><span class="comment">//php.net/date.timezone </span><span> </span></li><li><span class="func">date</span><span>.timezone = PRC </span></li></ol>
登录后复制

Zero希望大家按照上面的方法去设置本地时区,要注意的是修改的php.ini文件必须是当前服务器所加载的php.ini文件。

PHP中比较两个时间的大小

在日常生活中我们要经常比较时间的早晚,对于我们来说判断时间的大小很简单。但是时间的比较不只是单纯的数字大小的比较,因此相对来说还是比较复杂。那么在PHP中通过什么方式来比较两个时间的大小呢?如果认真学习了上篇博文《从34到35,PHP时间戳》中的内容,我想这个问题也不会很棘手。

要比较两个时间的大小,我们需要将时间转化为时间戳格式,然后再进行比较这是最常用的方法。

常用到的函数是:strtotime()

语法格式:strtotime(time,now)

如果time是绝对时间,则now参数不起作用。

如果time是相对时间,则相对应的参数则对应函数就是now来提供,如果没有提供now参数,那么相对应的时间就是当前的本地时间。

实例:比较两个绝对时间的大小

代码:

<ol class="dp-c"><li class="alt"><span><span><?php  </span></span></li><li><span class="vars">$zero1</span><span>=</span><span class="func">date</span><span>(&ldquo;Y-m-d H:i:s&rdquo;);  </span></li><li class="alt"><span class="vars">$zero2</span><span>=&rdquo;2010-11-29 21:07:00&Prime;;  </span></li><li><span class="func">echo</span><span> &ldquo;zero1的时间为:&rdquo;.</span><span class="vars">$zero1</span><span>.&rdquo;<br>&rdquo;;  </span></li><li class="alt"><span class="func">echo</span><span> &ldquo;zero2的时间为:&rdquo;.</span><span class="vars">$zero2</span><span>.&rdquo;<br>&rdquo;;  </span></li><li><span class="keyword">if</span><span>(</span><span class="func">strtotime</span><span>(</span><span class="vars">$zero1</span><span>)<</span><span class="func">strtotime</span><span>(</span><span class="vars">$zero2</span><span>)){  </span></li><li class="alt"><span class="func">echo</span><span> &ldquo;zero1早于zero2&Prime;;  </span></li><li><span>}</span><span class="keyword">else</span><span>{  </span></li><li class="alt"><span class="func">echo</span><span> &ldquo;zero2早于zero1&Prime;;  </span></li><li><span>}  </span></li><li class="alt"><span>?> </span></li></ol>
登录后复制

输出结果:

zero1的时间为:2010-11-30 21:12:55

AppMall应用商店
AppMall应用商店

AI应用商店,提供即时交付、按需付费的人工智能应用服务

AppMall应用商店 56
查看详情 AppMall应用商店

zero2的时间为:2010-11-29 21:07:00

zero2早于zero1

注:可以根据实例发散思维

计算两个日期的差值

奥运会倒计时,亚运会倒计时,生日倒计时这些倒计时都可以通过计算两个日期的差值来实现,同样需要用到strottime()函数。
实现倒计时需要将两个时间的差值整数化,需要用到函数ceil()

ceil()函数的作用是求不小于给定实数的最小整数

实例:倒计时小程序

实例代码:

<ol class="dp-c"><li class="alt"><span><span><?php  </span></span></li><li><span class="vars">$zero1</span><span>=</span><span class="func">strtotime</span><span> (</span><span class="func">date</span><span>(&ldquo;Y-m-d H:i:s&rdquo;)); </span><span class="comment">//当前时间 </span><span> </span></li><li class="alt"><span class="vars">$zero2</span><span>=</span><span class="func">strtotime</span><span> (&ldquo;2011-2-03 24:00:00&Prime;); </span><span class="comment">//过年时间 </span><span> </span></li><li><span class="vars">$guonian</span><span>=</span><span class="func">ceil</span><span>((</span><span class="vars">$zero2</span><span>-</span><span class="vars">$zero1</span><span>)/86400); </span><span class="comment">//60s*60min*24h </span><span> </span></li><li class="alt"><span class="func">echo</span><span> &ldquo;离过年还有<strong></span><span class="vars">$guonian</span><span></strong>天!&rdquo;;  </span></li><li><span>?> </span></li></ol>
登录后复制

输出结果:离过年还有66天!

计算脚本的运行时间

在打开很多网页时都会有一个脚本的运行时间,百度搜索时也会出现搜索用时这些元素。那么是通过什么来实现的呢?

计算脚本运行时间需要用到microtime()函数,该函数的作用是返回当前时间戳和微秒数。返回格式为msec sec的字符串,其中sec是当前的UNIX时间戳,msec 为微秒数。

语法格式:microtime(void)

运算原理:分别记录脚本运行前后的时间戳,并计算两个时间戳的差值

实例:计算上个实例中的脚本运行时间

实例代码:

<ol class="dp-c"><li class="alt"><span><span><?php  </span></span></li><li><span class="keyword">function</span><span> run_time()  </span></li><li class="alt"><span>{  </span></li><li><span>list(</span><span class="vars">$msec</span><span>, </span><span class="vars">$sec</span><span>) = </span><span class="func">explode</span><span>(&rdquo; &ldquo;, microtime());  </span></li><li class="alt"><span class="keyword">return</span><span> ((float)</span><span class="vars">$msec</span><span> + (float)</span><span class="vars">$sec</span><span>);  </span></li><li><span>}  </span></li><li class="alt"><span class="vars">$start_time</span><span>=run_time();  </span></li><li><span class="vars">$zero1</span><span>=</span><span class="func">strtotime</span><span> (</span><span class="func">date</span><span>(&ldquo;Y-m-d H:i:s&rdquo;)); </span><span class="comment">//当前时间 </span><span> </span></li><li class="alt"><span class="vars">$zero2</span><span>=</span><span class="func">strtotime</span><span> (&ldquo;2011-2-03 24:00:00&Prime;); </span><span class="comment">//过年时间 </span><span> </span></li><li><span class="vars">$guonian</span><span>=</span><span class="func">ceil</span><span>((</span><span class="vars">$zero2</span><span>-</span><span class="vars">$zero1</span><span>)/86400); </span><span class="comment">//60s*60min*24h </span><span> </span></li><li class="alt"><span class="func">echo</span><span> &ldquo;离过年还有<strong></span><span class="vars">$guonian</span><span></strong>天!&rdquo;;  </span></li><li><span class="vars">$end_time</span><span>=run_time();  </span></li><li class="alt"><span>?>  </span></li><li><span><p> </span></li></ol>
登录后复制

网页加载时间:

运行结果:离过年还有66天! 网页加载时间:0.00011682510375977秒

explode()函数和list()函数将在以后的学习中详细介绍!

好了到这里Zero的PHP时间与日期学习就告一段落了,接下来将学习关于PHP核心技术方面的内容。欢迎各位博友持续关注!


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/445817.htmlTechArticle在PHP中默认设置是标准的格林威治时间(零时区),所以如果要获得本地时间必须修改PHP的默认时区(八时区,除非您是外国的朋友,我想...
相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号