php獲取時期時間信息函數


 

在正式學習日期函數前大家得了解幾個概念:

    1.時區

    2.世界時

    3.unix時間戳

時區

這個概念,之前大家聽說過很多。我們來啰嗦兩句,我們現實生活中使用的實區,在電腦里面也是一樣有規定的。大理石機械構件維修
1884年在華盛頓召開國際經度會議時,為了克服時間上的混亂,規定將全球划分為24個時區。
在中國采用首都北京所在地東八區的時間為全國統一使用時間。

世界時

不光是天文學家使用格林尼治時間(英文簡寫:GMT),就是在新聞報刊上也經常出現這個名詞。我們知道各地都有各地的地方時間。如果對國際上某一重大事情,用地方時間來記錄,就會感到復雜不便.而且將來日子一長容易搞錯。因此,天文學家就提出一個大家都能接受且又方便的記錄方法,那就是以格林尼治(英國某地區)的地方時間為標准。

unix時間戳

電腦本身不認識時間,我們在電腦里面設置一個時間方便運算。於是我們規定了一種計算方式,unix時間戳。
從Unix紀元(1970 年 1月1日零時)開始到一個時間經過的秒數。

我們學了幾個概念,那我們現在可以開始來學習時間函數了。

1. 設置時區

如果,我們是跨國的多語方程序,我們通常是通過在配置文件里面來寫好了個時區,每次程序運行的時候。都會讀取這個時區的設置,來顯示時間。

設置時區的函數為:
1). date_default_timezone_get()
2).date_default_timezone_set()

第一個函數我們就不重點講解了,比較簡單。

用法如下:

string date_default_timezone_get ( void )

功能如下:
取得一個腳本中所有日期時間函數所使用的默認時區

示例:

<?php
echo date_default_timezone_get ();
?>

這樣就顯示出來了當前設定的時間。

第二個函數是重點:

用法如下:

bool date_default_timezone_set ( string $timezone_identifier )

功能如下:
用於所有日期時間函數的默認時區

示例:

<?php

//定義一下時區常量,以后你可以放到配置文件里
define('TIME_ZONE','Asia/shanghai');

//執行函數
date_default_timezone_set(TIME_ZONE);

echo date('Y-m-d H:i:s');

?>

上例的代碼對比試試,再將將date_default_timezone_set注釋掉,再看看會提示什么。

注:
時區列表請詳見官方手冊 http://php.net/manual/zh/timezones.php

2.time()獲取當前的unix時間戳

time()函數的功能是獲取當前時間的 Unix 時間戳。

以下代碼輸出當前時間的Unix 時間戳。

<?php
   $time=time();
   print_r( $time);
?>

程序運行結果:
1421597858

3. “亞麻跌”是PHP學習時間處理的關鍵

Y 英文是 year,為年份代表年 ——亞

m 英文代表month,為月份代表——麻

d 英文代表day,為日期 代表——跌

所以我們需要輸出前前的年份,月份,日期的話。例如:1997年7月1日,我們就可以用到上面的三個參數。

<?php

echo date('Y年m月d日');
?>

你可以運行一下代碼試試,看看是不是顯示出來了。

后面還有幾個參數:

H:m:s 代表的是:時分秒

h 的英文為:hour 代表小時

i的英文為:minute 代表分鍾

s的英文為:second 代表秒

寫全了就是:

<?php

//就可以顯示出來當前的時間了喲。
echo date('Y-m-d H:i:s');
?>

date函數用於將一個時間進行格式化輸出,以方便時間的顯示或存儲。其語法格式如下:
string date ( string $forrnat [, int $tirnestamp] )
在參數列表中:

$timestamp是一個時間戳,函數將這個時間戳按$format規定的格式輸出。

如果$timestamp沒有輸入值,則默認為當前的時間。

$format是一個時間輸出格式的字符串,需要使用規定的字符構造輸出格式。

date函數的格式參數表:

字符 說明 返回值
d 月份中的第幾天,有前導零的2 位數字 01 到31
D 英文星期幾,3個字母 Mon到Sun
j 月份中的第幾天,沒有前導零 1 到31
l(字母) 英文星期幾 Sunday到 Saturday
N 1格式數字表示的星期 1(表示星期一)到7(表示星期天)
S 每月天數后面的英文后綴,2個字符 st,nd,rd或者th。可以和jg一起用
w 星期中的第幾天,數字表示 0(表示星期天)到 6(表示星期六)
z 一年中的第幾天 0到366
W 年份中的第幾周,每周從星期一開始 42(當年的第42周)
F 月份,完整的文本格式 January 到 December
m 數字表示月份,有前導零 01 到 12
M 3個字母縮寫表示的月份 Jan 到Dec
n 數字表示月份,沒有前導零 1 到 12
t 給定月份所應有的天數 28 到 31
L 是否為閏年 如果是閏年為1,否則為o
o 格式年份數字 例如2007
Y 4 位數字完整表示年份 例如1999或2008
y 2 位數字表示的年份 例如99或08
a 小寫的上午和下午值 am或pm
A 大寫的上午和下午值 AM或PM
g 小時,12小時格式,沒有前導零 1到12
G 小時,24小時格式,沒有前導零 0 到 23
i 有前導零的分鍾數 00 到 59
s 秒數,有前導零 00到59
e 時區標識  
U 從Unix紀元開始至今的秒數 長整型數字


3. getdate獲取當前系統時間

getdate用來獲取當前系統的時間,或者獲得一個時間戳的具體含義。時間戳是一個長整數,表示getdate的語法格式如下所示。

array getdate ([ int $timestamp = time() ] )

函數的返回值是一個根據timestamp得到的包含有時間信息的數組。如果沒有參數,則會返回當前的時間。getdate返回的數組,鍵名包括時間和日期的完整信息。

鍵名 說明 返回值
secnods 數字0到 59
minutes 分鍾 數字0到59
hours 小時 數字 0到 23
mday 月份中第幾天 數字 1到 31
wday 星期中第幾天 數字0(表示星期天)到6(表示星期六)
mon 月份 數字 1 到 12
year 4 位數字表示的完整年份
yday 一年中第幾天 數字0到365
weekday 星期幾的英文 Sunday到 Saturday
month 月份的英文 January 到 December
0 自從Unix紀元開始的秒數 長整型數字

 

以下代碼可以返回getdate 數組的詳細信息。

<?php
   $mytime=getdate(); 
   print_r( $mytime);
?>

print_r可以輸出一個數組中所有的鍵名與值。運行這段代碼,結果如下所示。程序輸出當前計算機的時間與日期詳細信息:

Array
(
    [seconds] => 1            //秒
    [minutes] => 10            //分鍾
    [hours] => 17            //小時
    [mday] => 18            //日
    [wday] => 0            //星期中的第幾天
    [mon] => 1            //月
    [year] => 2015            //年
    [yday] => 17            //年中的第幾天
    [weekday] => Sunday        //星期
    [month] => January        //月份
    [0] => 1421597401        //時間戳
)

理解了getdate函數和返回的數組以后,就很容易取得當前的時間信息了。下面的代碼就是用getdate函數取得時間信息,調用返回時間數組的值輸出時間信息。

<?php 
$mytime = getdate();
echo "年 :".$mytime['year']."\n";
echo "月 :".$mytime['mon']."\n";
echo "日 :".$mytime['mday']."\n";
echo "時 :".$mytime['hours']."\n";
echo "分 :".$mytime['minutes']."\n";
echo "秒 :".$mytime['seconds']."\n";
echo "一個小時中的第幾鍾 :".$mytime['minutes']."\n";
echo "這是一分鍾的第幾秒 :".$mytime['seconds']."\n";
echo "星期名稱 :".$mytime['weekday']."\n";
echo "月份名稱 :".$mytime['month']."\n";
echo "時間戳   :".$mytime[0]."\n";
?>

運行這個程序,會顯示當前時間的詳細信息。程序的運行結果如下所示。

年 :2015
月 :1
日 :18
時 :17
分 :14
秒 :11
一星期中的第幾天 :14
一年中的第幾天 :11
星期名稱 :Sunday
月份名稱 :January
時間戳 :1421597651


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM