日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
PHP中幾個(gè)常用的時(shí)間應(yīng)用方式

在PHP中默認(rèn)設(shè)置是標(biāo)準(zhǔn)的格林威治時(shí)間(零時(shí)區(qū)),所以如果要獲得本地時(shí)間必須修改PHP的默認(rèn)時(shí)區(qū)(八時(shí)區(qū),除非您是外國(guó)的朋友,我想很少吧)。

PHP系統(tǒng)時(shí)區(qū)設(shè)置

修改PHP系統(tǒng)時(shí)區(qū)的兩種方式:

1、修改php.ini文件中的設(shè)置,找到[date]下的“;date.timezone=”,將該項(xiàng)修改為date.timezone=Asia/Hong_Kong (PRC 中國(guó)時(shí)間),然后重新啟動(dòng)Apache服務(wù)器。

2、在應(yīng)用程序中,使用時(shí)間日期函數(shù)之前添加“date_default_timezone_set(“Asia/Hong_Kong”)”函數(shù)

修改php.ini文件后獲取本地時(shí)間:

php代碼:

 
 
 
  1. echo “現(xiàn)在是北京時(shí)間:”.date(“Y-m-d H:i:s”).”

    ”;

  2. ?>

顯示結(jié)果:

現(xiàn)在是北京時(shí)間:2010-11-30 20:50:03 (與本地時(shí)間相符)

php.ini修改后的代碼:

 
 
 
  1. [Date]
  2. ; Defines the default timezone used by the date functions
  3. ; http://php.net/date.timezone
  4. date.timezone = PRC

Zero希望大家按照上面的方法去設(shè)置本地時(shí)區(qū),要注意的是修改的php.ini文件必須是當(dāng)前服務(wù)器所加載的php.ini文件。

PHP中比較兩個(gè)時(shí)間的大小

在日常生活中我們要經(jīng)常比較時(shí)間的早晚,對(duì)于我們來(lái)說(shuō)判斷時(shí)間的大小很簡(jiǎn)單。但是時(shí)間的比較不只是單純的數(shù)字大小的比較,因此相對(duì)來(lái)說(shuō)還是比較復(fù)雜。那么在PHP中通過什么方式來(lái)比較兩個(gè)時(shí)間的大小呢?如果認(rèn)真學(xué)習(xí)了上篇博文《從34到35,PHP時(shí)間戳》中的內(nèi)容,我想這個(gè)問題也不會(huì)很棘手。

要比較兩個(gè)時(shí)間的大小,我們需要將時(shí)間轉(zhuǎn)化為時(shí)間戳格式,然后再進(jìn)行比較這是最常用的方法。

常用到的函數(shù)是:strtotime()

語(yǔ)法格式:strtotime(time,now)

如果time是絕對(duì)時(shí)間,則now參數(shù)不起作用。

如果time是相對(duì)時(shí)間,則相對(duì)應(yīng)的參數(shù)則對(duì)應(yīng)函數(shù)就是now來(lái)提供,如果沒有提供now參數(shù),那么相對(duì)應(yīng)的時(shí)間就是當(dāng)前的本地時(shí)間。

實(shí)例:比較兩個(gè)絕對(duì)時(shí)間的大小

代碼:

 
 
 
  1. $zero1=date(“Y-m-d H:i:s”);
  2. $zero2=”2010-11-29 21:07:00″;
  3. echo “zero1的時(shí)間為:”.$zero1.”
    ”;
  4. echo “zero2的時(shí)間為:”.$zero2.”
    ”;
  5. if(strtotime($zero1)
  6. echo “zero1早于zero2″;
  7. }else{
  8. echo “zero2早于zero1″;
  9. }
  10. ?>

輸出結(jié)果:

zero1的時(shí)間為:2010-11-30 21:12:55

zero2的時(shí)間為:2010-11-29 21:07:00

zero2早于zero1

注:可以根據(jù)實(shí)例發(fā)散思維

計(jì)算兩個(gè)日期的差值

奧運(yùn)會(huì)倒計(jì)時(shí),亞運(yùn)會(huì)倒計(jì)時(shí),生日倒計(jì)時(shí)這些倒計(jì)時(shí)都可以通過計(jì)算兩個(gè)日期的差值來(lái)實(shí)現(xiàn),同樣需要用到strottime()函數(shù)。
實(shí)現(xiàn)倒計(jì)時(shí)需要將兩個(gè)時(shí)間的差值整數(shù)化,需要用到函數(shù)ceil()

ceil()函數(shù)的作用是求不小于給定實(shí)數(shù)的最小整數(shù)

實(shí)例:倒計(jì)時(shí)小程序

實(shí)例代碼:

 
 
 
  1. $zero1=strtotime (date(“Y-m-d H:i:s”)); //當(dāng)前時(shí)間
  2. $zero2=strtotime (“2011-2-03 24:00:00″); //過年時(shí)間
  3. $guonian=ceil(($zero2-$zero1)/86400); //60s*60min*24h
  4. echo “離過年還有$guonian天!”;
  5. ?>

輸出結(jié)果:離過年還有66天!

計(jì)算腳本的運(yùn)行時(shí)間

在打開很多網(wǎng)頁(yè)時(shí)都會(huì)有一個(gè)腳本的運(yùn)行時(shí)間,百度搜索時(shí)也會(huì)出現(xiàn)搜索用時(shí)這些元素。那么是通過什么來(lái)實(shí)現(xiàn)的呢?

計(jì)算腳本運(yùn)行時(shí)間需要用到microtime()函數(shù),該函數(shù)的作用是返回當(dāng)前時(shí)間戳和微秒數(shù)。返回格式為msec sec的字符串,其中sec是當(dāng)前的UNIX時(shí)間戳,msec 為微秒數(shù)。

語(yǔ)法格式:microtime(void)

運(yùn)算原理:分別記錄腳本運(yùn)行前后的時(shí)間戳,并計(jì)算兩個(gè)時(shí)間戳的差值

實(shí)例:計(jì)算上個(gè)實(shí)例中的腳本運(yùn)行時(shí)間

實(shí)例代碼:

 
 
 
  1. function run_time()
  2. {
  3. list($msec, $sec) = explode(” “, microtime());
  4. return ((float)$msec + (float)$sec);
  5. }
  6. $start_time=run_time();
  7. $zero1=strtotime (date(“Y-m-d H:i:s”)); //當(dāng)前時(shí)間
  8. $zero2=strtotime (“2011-2-03 24:00:00″); //過年時(shí)間
  9. $guonian=ceil(($zero2-$zero1)/86400); //60s*60min*24h
  10. echo “離過年還有$guonian天!”;
  11. $end_time=run_time();
  12. ?>

網(wǎng)頁(yè)加載時(shí)間:

運(yùn)行結(jié)果:離過年還有66天! 網(wǎng)頁(yè)加載時(shí)間:0.00011682510375977秒

explode()函數(shù)和list()函數(shù)將在以后的學(xué)習(xí)中詳細(xì)介紹!

好了到這里Zero的PHP時(shí)間與日期學(xué)習(xí)就告一段落了,接下來(lái)將學(xué)習(xí)關(guān)于PHP核心技術(shù)方面的內(nèi)容。歡迎各位博友持續(xù)關(guān)注!


本文標(biāo)題:PHP中幾個(gè)常用的時(shí)間應(yīng)用方式
網(wǎng)站路徑:http://m.5511xx.com/article/cdghhhe.html