日期與時間
一.PHP日期和時間庫
驗證日期:checkdate(月,日,年)函數能夠很好地驗證日期,提供的日期如果有效,則返回true,否則返回false。
<?php
if (checkdate(2,29,2007)) {
echo ‘日期合法‘;
} else {
echo ‘日期不合法‘;
}
?>
格式化時間和日期:date()函數返回根據預定義指令格式化時間和日期的字符串形式。所有格式參數,可以參考手冊。
<?php
echo date(‘Y-m-d H:i:s‘); //直接輸入日期和時間
echo date(‘今天的日期和時間為:Y/m/d H:i:sa‘); //可以插入無關的字符串
?>
查看更多時間信息:gettimeofday()函數返回與當前時間有關的元素所組成的一個關聯數組。
<?php
print_r(gettimeofday()); //可以傳入一個真(1)
?>
將時間戳轉換成友好的值:getdate()函數接受一個時間戳,並返回一個由其各部分組成的關聯數組。如果不給參數,那麽返回當前的時間和日期。
<?php
print_r(getdate(1184557366));
?>
獲取當前的時間戳:time()函數可以獲取當前的時間戳,並且可以通過設置時間戳的值。
<?php
echo date(‘Y-m-d H:i:s‘,time()+(7*24*60*60));
?>
獲取特定的時間戳:mktime()函數可以生成給定日期時間的時間戳。
<?php
//時分秒月日年
echo mktime(14,14,14,11,11,2007);
echo date(‘Y-m-d H:i:s‘,mktime(14,14,14,11,11,2007));
?>
計算時間差
<?php
$now = time();
$taxday = mktime(0,0,0,7,17,2010);
echo
?>
將日期轉換成時間戳:strtotime()將可讀的日期轉換為Unix時間戳。
<?php
echo strtotime(‘2007-10-31 14:31:33‘);
?>
計算時間差
<?php
echo (strtotime(‘2007-10-31 14:31:33‘) - strtotime(‘2007-10-31 11:31:33‘))/60/60;
?>
獲取當前文件最後修改時間:getlastmod()可以得到當前文件最後修改時間的時間戳。
<?php
echo date(‘Y-m-d H:i:s‘,getlastmod());
?>
設置時區和GMT/UTC:
修改php.ini文件中的設置,找到[date]下的;date.timezone = 選項,將該項修改為date.timezone=Asia/Shanghai,然後重新啟動apache服務器。
putenv()函數可以設置當前的默認時區。
<?php
putenv(‘TZ=Asia/Shanghai‘);
echo date(‘Y-m-d H:i:s‘);
?>
date_default_timezone_set()可以設置當前的默認時區。
date_default_timezone_get()可以獲取當前的默認時區。
<?php
date_default_timezone_set(‘Asia/Shanghai‘);
echo date(‘Y-m-d H:i:s‘);
?>
取得本地時間localtime()函數可以取得本地時間數據,然後返回一個數組。
<?php
date_default_timezone_set(‘Asia/Shanghai‘);
print_r(localtime());
print_r(localtime(time(), true));
?>
計算頁面腳本運行時間:microtime()函數,該函數返回當前UNIX時間戳和微秒數。返回格式為msecsec的字符串,其中sec是當前的UNIX時間戳,msec為微秒數。
<?php
function fntime() {
list($msec, $sec) = explode(‘ ‘, microtime());
return $msec+$sec;
}
$start_time = fntime();
for($i=0;$i<1000000;$i++) {
//
}
$end_time = fntime();
echo round($end_time - $start_time,4);
?>
日期與時間