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代碼:
-
<?php
-
echo “現在是北京時間:”.date(“Y-m-d H:i:s”).”<p>”;
-
?>
顯示結果:
現在是北京時間:2010-11-30 20:50:03 (與本地時間相符)
php.ini修改后的代碼:
-
[Date]
-
; Defines the default timezone used by the date functions
-
; http:
-
date.timezone = PRC
Zero希望大家按照上面的方法去設置本地時區,要注意的是修改的php.ini文件必須是當前服務器所加載的php.ini文件。
PHP中比較兩個時間的大小
在日常生活中我們要經常比較時間的早晚,對于我們來說判斷時間的大小很簡單。但是時間的比較不只是單純的數字大小的比較,因此相對來說還是比較復雜。那么在PHP中通過什么方式來比較兩個時間的大小呢?如果認真學習了上篇博文《從34到35,PHP時間戳》中的內容,我想這個問題也不會很棘手。
要比較兩個時間的大小,我們需要將時間轉化為時間戳格式,然后再進行比較這是最常用的方法。
常用到的函數是:strtotime()
語法格式:strtotime(time,now)
如果time是絕對時間,則now參數不起作用。
如果time是相對時間,則相對應的參數則對應函數就是now來提供,如果沒有提供now參數,那么相對應的時間就是當前的本地時間。
實例:比較兩個絕對時間的大小
代碼:
-
<?php
-
$zero1=date(“Y-m-d H:i:s”);
-
$zero2=”2010-11-29 21:07:00″;
-
echo “zero1的時間為:”.$zero1.”<br>”;
-
echo “zero2的時間為:”.$zero2.”<br>”;
-
if(strtotime($zero1)<strtotime($zero2)){
-
echo “zero1早于zero2″;
-
}else{
-
echo “zero2早于zero1″;
-
}
-
?>
輸出結果:
zero1的時間為:2010-11-30 21:12:55
zero2的時間為:2010-11-29 21:07:00
zero2早于zero1
注:可以根據實例發散思維
計算兩個日期的差值
奧運會倒計時,亞運會倒計時,生日倒計時這些倒計時都可以通過計算兩個日期的差值來實現,同樣需要用到strottime()函數。
實現倒計時需要將兩個時間的差值整數化,需要用到函數ceil()
ceil()函數的作用是求不小于給定實數的最小整數
實例:倒計時小程序
實例代碼:
-
<?php
-
$zero1=strtotime (date(“Y-m-d H:i:s”));
-
$zero2=strtotime (“2011-2-03 24:00:00″);
-
$guonian=ceil(($zero2-$zero1)/86400);
-
echo “離過年還有<strong>$guonian</strong>天!”;
-
?>
輸出結果:離過年還有66天!
計算腳本的運行時間
在打開很多網頁時都會有一個腳本的運行時間,百度搜索時也會出現搜索用時這些元素。那么是通過什么來實現的呢?
計算腳本運行時間需要用到microtime()函數,該函數的作用是返回當前時間戳和微秒數。返回格式為msec sec的字符串,其中sec是當前的UNIX時間戳,msec 為微秒數。
語法格式:microtime(void)
運算原理:分別記錄腳本運行前后的時間戳,并計算兩個時間戳的差值
實例:計算上個實例中的腳本運行時間
實例代碼:
-
<?php
-
function run_time()
-
{
-
list($msec, $sec) = explode(” “, microtime());
-
return ((float)$msec + (float)$sec);
-
}
-
$start_time=run_time();
-
$zero1=strtotime (date(“Y-m-d H:i:s”));
-
$zero2=strtotime (“2011-2-03 24:00:00″);
-
$guonian=ceil(($zero2-$zero1)/86400);
-
echo “離過年還有<strong>$guonian</strong>天!”;
-
$end_time=run_time();
-
?>
-
<p>