PHP中几个常用的时间应用方式
在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.ini文件后获取本地时间:
php代码:
<ol class="dp-c"> <li class="alt"><span><span><?php </span></span></span></li> <li> <span class="func">echo</span><span> “现在是北京时间:”.</span><span class="func">date</span><span>(“Y-m-d H:i:s”).”<p>”; </p></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></span></li> <li> <span class="vars">$zero1</span><span>=</span><span class="func">date</span><span>(“Y-m-d H:i:s”); </span> </li> <li class="alt"> <span class="vars">$zero2</span><span>=”2010-11-29 21:07:00″; </span> </li> <li> <span class="func">echo</span><span> “zero1的时间为:”.</span><span class="vars">$zero1</span><span>.”<br>”; </span> </li> <li class="alt"> <span class="func">echo</span><span> “zero2的时间为:”.</span><span class="vars">$zero2</span><span>.”<br>”; </span> </li> <li> <span class="keyword">if</span><span>(</span><span class="func">strtotime</span><span>(</span><span class="vars">$zero1</span><span>)<span class="func">strtotime</span><span>(</span><span class="vars">$zero2</span><span>)){ </span></span> </li> <li class="alt"> <span class="func">echo</span><span> “zero1早于zero2″; </span> </li> <li> <span>}</span><span class="keyword">else</span><span>{ </span> </li> <li class="alt"> <span class="func">echo</span><span> “zero2早于zero1″; </span> </li> <li><span>} </span></li> <li class="alt"><span>?> </span></li> </ol>
输出结果:
zero1的时间为:2010-11-30 21:12:55
zero2的时间为:2010-11-29 21:07:00
zero2早于zero1
注:可以根据实例发散思维
计算两个日期的差值
奥运会倒计时,亚运会倒计时,生日倒计时这些倒计时都可以通过计算两个日期的差值来实现,同样需要用到strottime()函数。
实现倒计时需要将两个时间的差值整数化,需要用到函数ceil()
ceil()函数的作用是求不小于给定实数的最小整数
实例:倒计时小程序
实例代码:
<ol class="dp-c"> <li class="alt"><span><span><?php </span></span></span></li> <li> <span class="vars">$zero1</span><span>=</span><span class="func">strtotime</span><span> (</span><span class="func">date</span><span>(“Y-m-d H:i:s”)); </span><span class="comment">//当前时间 </span><span> </span> </li> <li class="alt"> <span class="vars">$zero2</span><span>=</span><span class="func">strtotime</span><span> (“2011-2-03 24:00:00″); </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> “离过年还有<strong></strong></span><span class="vars">$guonian</span><span>天!”; </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></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>(” “, 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>(“Y-m-d H:i:s”)); </span><span class="comment">//当前时间 </span><span> </span> </li> <li class="alt"> <span class="vars">$zero2</span><span>=</span><span class="func">strtotime</span><span> (“2011-2-03 24:00:00″); </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> “离过年还有<strong></strong></span><span class="vars">$guonian</span><span>天!”; </span> </li> <li> <span class="vars">$end_time</span><span>=run_time(); </span> </li> <li class="alt"><span>?> </span></li> <li><span><p> </p></span></li> </ol>
网页加载时间:秒
运行结果:离过年还有66天! 网页加载时间:0.00011682510375977秒
explode()函数和list()函数将在以后的学习中详细介绍!
好了到这里Zero的PHP时间与日期学习就告一段落了,接下来将学习关于PHP核心技术方面的内容。欢迎各位博友持续关注!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。
