關於時間的函數:
strftime 根據地區設定格式化本地時間/日期
strptime — 解析由strftime() 產生的日期/時間
setlocale 函數設定地區資訊(地區資訊)
date_default_timezone_set 如果發覺date函數得出的小時數與實際相差8小時,請加上date_default_timezone_set('Etc/GMT-8');
date — 格式化一個本地時間/日期
gmdate 同date完全一樣— 格式化一個GMT/UTC 日期/時間
mktime — 取得一個日期的Unix 時間戳記 mktime(0, 0, 0, 12, 30, 1997)
gmmktime和mktime 完全一樣
strtotime — 將任何英文文本的日期時間描述解析為Unix 時間戳記
time — 返回當前的Unix 時間戳記
microtime — 返回當前Unix 時間戳記和微秒數
getlastmod — 取得目前使用中網頁最後一次更新網頁內容的時間
注意:TimeStamp不是函數是指Unix 時間戳記即由1970年01月01日0時0分0秒到此刻的秒數
實際操作案例
$strtime = "2000-02-12 16:20:35";
$array = explode("-",$strtime);
$year = $array[0];
$month = $array[1];
var_dump($array);
$array = explode(":",$array[2]);
$minute = $array[1];
$second = $array[2];
var_dump($array);
$array = explode(" ",$array[0]);
$day = $array[0];
$hour = $array[1];
$timestamp = mktime($hour,$minute,$second,$month,$day,$year);
echo "字串時間:$strtime
";
echo "年:$year
";
echo "月:$month
";
echo "日:$day
";
echo "時:$hour
";
echo "分:$minute
";
echo "秒:$second
";
echo "轉換為timestamp:" . $timestamp . "
";
echo "從timestamp轉換回來:" . date("y-m-d h:i:s",$timestamp) . "
";
echo "從timestamp轉換回來:" . date("y-m-d h:i:s","1288263141") . "
";
header("Content-Type:text/html; charset=utf-8");
echo (strtotime("2010-10-28 10:52:21")). "
"; // MySQL格式的字串轉換成秒數
echo (strtotime("2010-10-01 00:00:00")). "
";
$d = date("Y-m-d H:i:s", time()); // 秒數轉換成MySQL格式的timestamp
echo $d. "
";
結果為:
array
0 => string '2000' (length=4)
1 => string '02' (length=2)
2 => string '12 16:20:35' (length=11)
array
0 => string '12 16' (length=5)
1 => string '20' (length=2)
2 => string '35' (length=2)
字串時間:2000-02-12 16:20:35
年:2000
月:02
日:12
時:16
分:20
秒:35
轉換為timestamp:950372435
從timestamp轉換回來:00-02-12 04:20:35
從timestamp轉換回來:10-10-28 10:52:21
1288263141
1285891200
2011-10-20 14:48:27
格式化時間函數的常見值
函數date ( string format [, int timestamp])可以格式化日期/時間,參數format是格式化字串,最常用的值如下:
Y:4 位元字完整表示的年份
y:2位元字表示的年份
m:數字表示的月份
M:三個字母縮寫表示的月份
d:月份中的第幾天
D:星期中的第幾天
h:小時,12 小時格式,有前置字元為零
H:小時,24 小時格式,有前置字元為零
i:有前置字元為零的分鐘數
I:是否為夏令時
s:秒數
S:每月天數後面的英文尾碼,2 個字元
w:星期中的第幾天,數字表示
W:ISO-8601 格式年份中的第幾周,每周從星期一開始
l:星期幾,完整的文字格式設定
L:是否為閏年
g:12 小時格式,沒有前置字元為零
G:24 小時格式,沒有前置字元為零
如果發覺date函數得出的小時數與實際相差8小時,請加上date_default_timezone_set('Etc/GMT-8');
getdate(timestamp) 函數可以取得日期/時間資訊。
返回一個根據timestamp 得出的包含有日期資訊的結合數組。如果沒有給出時間戳記,則認為是當前本地時間。
數組中的單元如下:
鍵名
說明
傳回值例子
"seconds"
秒的數字表示
0 到59
"minutes"
分鐘的數字表示
0 到59
"hours"
小時的數字表示
0 到23
"mday"
月份中第幾天的數字表示
1 到31
"wday"
星期中第幾天的數字表示
0(表示星期天)到6(表示星期六)
"mon"
月份的數字表示
1 到12
"year"
4 位元字表示的完整年份
例如:1999 或2003
"yday"
一年中第幾天的數字表示
0 到365
"weekday"
星期幾的完整文本表示
Sunday 到Saturday
"month"
月份的完整文本表示
January 到December
0
自從Unix 紀元開始至今的秒數,和time() 的傳回值以及用於date() 的值類似。
系統相關,典型值為從-2147483648 到2147483647。
執行個體:
//顯示的格式: 年-月-日 小時:分鐘:妙
$showtime=date("Y-m-d H:i:s");
echo '顯示時間的格式為:'.$showtime."
";
結果為:
顯示時間的格式為:2011-10-20 14:48:27
本文出自 “php技術” 部落格
http://www.bkjia.com/PHPjc/478577.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/478577.htmlTechArticle關於時間的函數: strftime 根據地區設定格式化本地時間/日期 strptime 解析由strftime() 產生的日期/時間 setlocale 函數設定地區資訊(地區信...