程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php關於時間的學習

php關於時間的學習

編輯:關於PHP編程

 

關於時間的函數:

 

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<br>";

 

echo "年:$year<br>";

 

echo "月:$month<br>";

 

echo "日:$day<br>";

 

echo "時:$hour<br>";

 

echo "分:$minute<br>";

 

echo "秒:$second<br>";

 

echo "轉換為timestamp:" . $timestamp . "<br>";

 

echo "從timestamp轉換回來:" . date("y-m-d h:i:s",$timestamp) . "<br>";

 

echo "從timestamp轉換回來:" . date("y-m-d h:i:s","1288263141") . "<br>";

 

 

 

 

 

header("Content-Type:text/html; charset=utf-8");

 

echo (strtotime("2010-10-28 10:52:21")). "<br>"; // MySQL格式的字符串轉換成秒數

 

echo (strtotime("2010-10-01 00:00:00")). "<br>";

 

$d = date("Y-m-d H:i:s", time()); // 秒數轉換成MySQL格式的timestamp

 

echo $d. "<br>";

 

 

 

結果為:

 

 

 

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."<br>";

 

結果為:

 

顯示時間的格式為:2011-10-20 14:48:27

 

 

 

本文出自 “php技術” 博客

  1. 上一頁:
  2. 下一頁: