本文目錄一覽:
php中time和mktime用法的區別分析
在php編程中,時間函數time(),返回當前時間的。而mktime()函數,不是返回當前時間,而是格式化時間。
雖然單獨寫mktime()而不加任何參數如:echo mktime()和echo time()的效果是一樣的。但本質上是不一樣的。
PHP mktime() 函數
PHP Date / Time 函數
定義和用法
mktime() 函數返回一個日期的 Unix 時間戳。
參數總是表示 GMT 日期,因此 is_dst 對結果沒有影響。
參數可以從右到左依次空著,空著的參數會被設為相應的當前 GMT 值。
語法
mktime(hour,minute,second,month,day,year,is_dst)
參數 描述
hour 可選。規定小時。
minute 可選。規定分鐘。
second 可選。規定秒。
month 可選。規定用數字表示的月。
day 可選。規定天。
year 可選。規定年。在某些系統上,合法值介於 1901 – 2038 之間。不過在 PHP 5 中已經不存在這個限制了。
is_dst
可選。如果時間在日光節約時間(DST)期間,則設置為1,否則設置為0,若未知,則設置為-1。
自 5.1.0 起,is_dst 參數被廢棄。因此應該使用新的時區處理特性。
提示和注釋
注釋:在 PHP 5.1 之前,如果該函數的參數非法,則會返回 false。
例子:
mktime() 函數對於日期運算和驗證非常有用。它可以自動校正越界的輸入:
?php
echo(date(“M-d-Y”,mktime(0,0,0,12,36,2001)));
echo(date(“M-d-Y”,mktime(0,0,0,14,1,2001)));
echo(date(“M-d-Y”,mktime(0,0,0,1,1,2001)));
echo(date(“M-d-Y”,mktime(0,0,0,1,1,99)));
?
輸出:
Jan-05-2002
Feb-01-2002
Jan-01-2001
Jan-01-1999
PHP time() 函數
PHP Date / Time 函數
定義和用法
time() 函數返回當前時間的 Unix 時間戳。
語法
time(void)
參數 描述
void 可選。
說明
返回自從 Unix 紀元(格林威治時間 1970 年 1 月 1 日 00:00:00)到當前時間的秒數。
提示和注釋
提示:自 PHP 5.1 起在 $_SERVER[‘REQUEST_TIME’] 中保存了發起該請求時刻的時間戳。
例1,
?php
//time()函數示例1
$t=time();
echo($t . “br /”);
echo(date(“D F d Y”,$t));
?
輸出:
1138618081
Mon January 30 2006
例2,
?php
//time()函數示例2
$nextWeek = time() + (7 * 24 * 60 * 60); // 7 days; 24 hours; 60 mins; 60secs
echo ‘Now: ‘. date(‘Y-m-d’) .”\n”;
echo ‘Next Week: ‘. date(‘Y-m-d’, $nextWeek) .”\n”;
?
輸出:
Now: 2005-03-30
Next Week: 2005-04-07
php5中date得出的時間為什麼不是當前時間的解決方法
時區不對吧,你可以設置一下默認時區,或者像下面那麼弄:
?php
function gmtime()
{
return (time() – date(‘Z’));
}
var_dump(date(‘Y-m-d H:i:s’, gmtime()));
?
怎樣設置PHP的timezone
修改php.ini,在php.ini中找到data.timezone =去掉它前面的;號,然後設置data.timezone = 「Asia/Shanghai」;
在程序PHP 5以上版本的程序代碼中使用函數ini_set(‘date.timezone’,’Asia/Shanghai’);或者date_default_timezone_set(『Asia/Shanghai’);
如何重新定義time()函數 PHP
做個全局設置就可以了 因為在php5以及起以上的版本,默認情況下的時間會與本地時間出現時差,時間函數的輸出結果總是相差8個小時,8個小時,很熟悉的時差,猜測應該是時區設置的原因。通過觀察phpinfo()函數的輸出結果,發現有一個參數date.timezone默認設置為UTC,是格林威治時間8 U x9 G; V/ T5 i, ^。打開php.ini發現沒有date.timezone的選項,估計是採用默認值,PHP手冊中有完整的時區列表。對於東八區,可用的有Asia/Chongqing、 Asia/Chungking、Asia/Hongkong、Asia/Shanghai、Asia/Taipei、PRC、Etc/GMT+8等(呵呵 不知道為什麼沒有beijing),任選一個就可以了。
方法1、在代碼中增加如下命令:
?php
date_default_timezone_set(‘PRC’);//其他東八去時間表示均可
?
方法2、配置php.ini文件,設置如下:
date.timezone=PRC; //中國:PRC如果沒有此項在任意位置添加即可,添加後別忘記重啟APACHE伺服器
原創文章,作者:BHFGS,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/324795.html