php取得時(shí)期時(shí)間資訊函數(shù)
在正式學(xué)習(xí)日期函數(shù)前大家得了解幾個(gè)概念:
????1.時(shí)區(qū)
????2.世界時(shí)
# 3.unix時(shí)間戳記
時(shí)區(qū)
這個(gè)概念,之前大家聽過很多。我們來囉嗦兩句,我們現(xiàn)實(shí)生活中使用的實(shí)區(qū),在電腦裡面也是一樣有規(guī)定的。
1884年在華盛頓舉行國際經(jīng)度會(huì)議時(shí),為了克服時(shí)間上的混亂,規(guī)定將全球劃分為24個(gè)時(shí)區(qū)。
在中國採用首都北京所在地東八區(qū)的時(shí)間為全國統(tǒng)一使用時(shí)間。
世界時(shí)
不光是天文學(xué)家使用格林尼治時(shí)間(英文簡寫:GMT),就是在新聞報(bào)刊上也常出現(xiàn)這個(gè)名詞。我們知道各地都有各地的地方時(shí)間。如果對國際上某一重大事情,用地方時(shí)間來記錄,就會(huì)感到複雜不便.而且將來日子一長容易搞錯(cuò)。因此,天文學(xué)家提出一個(gè)大家都能接受且方便的記錄方法,那就是以格林尼治(英國某地區(qū))的地方時(shí)間為標(biāo)準(zhǔn)。
unix時(shí)間戳記
電腦本身不認(rèn)識時(shí)間,我們在電腦裡面設(shè)定一個(gè)時(shí)間方便運(yùn)算。於是我們規(guī)定了一種計(jì)算方式,unix時(shí)間戳記。
從Unix紀(jì)元(1970 年 1月1日零時(shí))開始到一個(gè)時(shí)間經(jīng)過的秒數(shù)。
我們學(xué)了幾個(gè)概念,那我們現(xiàn)在可以開始來學(xué)習(xí)時(shí)間函數(shù)了。
1. 設(shè)定時(shí)區(qū)
如果,我們是跨國的多語方程序,我們通常是透過在設(shè)定檔裡面來寫好了個(gè)時(shí)區(qū),每次程式運(yùn)行的時(shí)候。都會(huì)讀取這個(gè)時(shí)區(qū)的設(shè)置,來顯示時(shí)間。
設(shè)定時(shí)區(qū)的函數(shù)為:
1). date_default_timezone_get()
2).date_default_timezone_set()
第一個(gè)函數(shù)我們就不重點(diǎn)講解了,比較簡單。
用法如下:
string date_default_timezone_get ( void )
功能如下:
取得一個(gè)腳本中所有日期時(shí)間函數(shù)所使用的默認(rèn)時(shí)區(qū)
範(fàn)例:
<?php echo date_default_timezone_get (); ?>
這樣就顯示出來了目前設(shè)定的時(shí)間。
第二個(gè)函數(shù)是重點(diǎn):
用法如下:
bool date_default_timezone_set ( string $timezone_identifier )
功能如下:
用於所有日期時(shí)間函數(shù)的預(yù)設(shè)時(shí)區(qū)
範(fàn)例:
<?php //定義一下時(shí)區(qū)常量,以后你可以放到配置文件里 define('TIME_ZONE','Asia/shanghai'); //執(zhí)行函數(shù) date_default_timezone_set(TIME_ZONE); echo date('Y-m-d H:i:s'); ?>
上例的程式碼比較試試,再將date_default_timezone_set註解掉,再看看會(huì)提示什麼。
附註:
時(shí)區(qū)清單請?jiān)斠姽俜绞謨?http://php.net/manual/zh/timezones.php
2.time()取得目前的unix時(shí)間戳記
time()函數(shù)的功能是取得目前時(shí)間的Unix 時(shí)間戳記。
以下程式碼輸出目前時(shí)間的Unix 時(shí)間戳記。
<?php $time=time(); print_r( $time); ?>
程式運(yùn)行結(jié)果:
1421597858
#3. 「亞麻跌」是PHP學(xué)習(xí)時(shí)間處理的關(guān)鍵
Y 英文是year,為年份代表年— —亞
m 英文代表month,為月份代表-麻
d 英文代表day,為日期代表-跌
所以我們需要輸出前前的年份,月份,日期的話。例如:1997年7月1日,我們就可以用到上面的三個(gè)參數(shù)。
<?php echo date('Y年m月d日'); ?>
你可以運(yùn)行程式碼試試,看看是不是顯示出來了。
後面還有幾個(gè)參數(shù):
H:m:s 代表的是:時(shí)分秒
h 的英文為:hour 代表小時(shí)
i的英文為:minute 代表分鐘
s的英文為:second 代表秒
#寫全了就是:
<?php //就可以顯示出來當(dāng)前的時(shí)間了喲。 echo date('Y-m-d H:i:s'); ?>
date函數(shù)用來格式化一個(gè)時(shí)間輸出,以方便時(shí)間的顯示或儲(chǔ)存。其語法格式如下:
string date ( string $forrnat [, int $tirnestamp] )
在參數(shù)清單中:
$timestamp是一個(gè)時(shí)間戳,函數(shù)將這個(gè)時(shí)間戳按$format規(guī)定的格式輸出。
如果$timestamp沒有輸入值,則預(yù)設(shè)為目前的時(shí)間。
$format是一個(gè)時(shí)間輸出格式的字串,需要使用規(guī)定的字元建構(gòu)輸出格式。
date函數(shù)的格式參數(shù)表:
字元 | 說明 | 傳回值 |
---|---|---|
#月份中的第幾天,有前導(dǎo)零的2 位數(shù)字 | 01 到31 | |
英文星期幾,3個(gè)字母 | Mon到Sun | |
月份中的第幾天,沒有前導(dǎo)零 | 1 到31 | |
英文星期幾 | Sunday到Saturday | |
1格式數(shù)字表示的星期 | 1(表示星期一)到7(表示星期日) | |
每月天數(shù)後面的英文後綴, 2個(gè)字元 | st,nd,rd或th??梢院蚸g一起用 | |
星期中的第幾天,數(shù)字表示 | 0(表示星期日)到6(表示星期六) | |
一年中的第幾天 | 0到366 | |
年份中的第幾週,每週從星期一開始 | 42(當(dāng)年的第42週) | |
月份,完整的文字格式 | January 到December | |
數(shù)字表示月份,有前導(dǎo)零 | 01 到12 | |
3個(gè)字母縮寫表示的月份 | #Jan 到Dec | |
數(shù)字表示月份,沒有前導(dǎo)零 | 1 到12 | |
給定月份所應(yīng)有的天數(shù) | 28 到31 | |
是否為閏年 | 如果是閏年為1,否則為o | |
格式年份數(shù)字 | 例如2007 | |
#4 位元數(shù)字完整表示年份 | 例如1999或2008 | |
#2 位數(shù)字表示的年份 | 例如99或08 | |
小寫的上午和下午值 | am或pm | |
大寫的上午和下午值 | AM或PM | |
小時(shí),12小時(shí)格式,沒有前導(dǎo)零 | 1到12 | |
小時(shí),24小時(shí)格式,沒有前導(dǎo)零 | 0 到23 | |
有前導(dǎo)零的分鐘數(shù) | 00 到59 | |
秒數(shù),有前導(dǎo)零 | 00到59 | |
時(shí)區(qū)識別 | ||
從Unix紀(jì)元開始至今的秒數(shù) | 長整數(shù)數(shù)字 |
鍵名稱 | 說明 | 回傳值 |
---|---|---|
## secnods | 秒 | |
#minutes | 分鐘 | |
hours | 小時(shí) | |
mday | 中第幾天 | |
wday | #星期中第幾天 | |
mon | 月份 | |
year | 年 | |
yday | 一年中第幾天 | |
weekday | 星期幾的英文 | |
month | 月份的英文 | |
#0 | 自從Unix紀(jì)元開始的秒數(shù) |
以下程式碼可以傳回getdate 陣列的詳細(xì)資訊。
<?php $mytime=getdate(); print_r( $mytime); ?>
print_r可以輸出一個(gè)陣列中所有的鍵名與值。運(yùn)行這段程式碼,結(jié)果如下所示。程式輸出目前電腦的時(shí)間與日期詳細(xì)資料:
Array ( [seconds] => 1 //秒 [minutes] => 10 //分鐘 [hours] => 17 //小時(shí) [mday] => 18 //日 [wday] => 0 //星期中的第幾天 [mon] => 1 //月 [year] => 2015 //年 [yday] => 17 //年中的第幾天 [weekday] => Sunday //星期 [month] => January //月份 [0] => 1421597401 //時(shí)間戳 )
了解getdate函數(shù)與傳回的陣列以後,就很容易取得目前的時(shí)間資訊了。下面的程式碼就是用getdate函數(shù)取得時(shí)間訊息,呼叫傳回時(shí)間數(shù)組的值輸出時(shí)間資訊。
<?php $mytime = getdate(); echo "年 :".$mytime['year']."\n"; echo "月 :".$mytime['mon']."\n"; echo "日 :".$mytime['mday']."\n"; echo "時(shí) :".$mytime['hours']."\n"; echo "分 :".$mytime['minutes']."\n"; echo "秒 :".$mytime['seconds']."\n"; echo "一個(gè)小時(shí)中的第幾鐘 :".$mytime['minutes']."\n"; echo "這是一分鐘的第幾秒 :".$mytime['seconds']."\n"; echo "星期名稱 :".$mytime['weekday']."\n"; echo "月份名稱 :".$mytime['month']."\n"; echo "時(shí)間戳 :".$mytime[0]."\n"; ?>
執(zhí)行這個(gè)程序,會(huì)顯示目前時(shí)間的詳細(xì)資訊。程式的運(yùn)行結(jié)果如下所示。
年:2015
月:1
日:18
時(shí):17
分:14
秒:11
一星期中的第幾天:14
一年中的第幾天:11
星期名稱:Sunday月份名稱:January
- 課程推薦
- 課件下載
-
初級php入門教程之一週學(xué)會(huì)PHP
462431人在看 -
初級PHP入門影片教學(xué)一週學(xué)會(huì)PHP
260248人在看 -
初級PHP快速入門免費(fèi)教學(xué)課程
49610人在看 -
初級PHP上傳檔案—入門到實(shí)戰(zhàn)系列必學(xué)教程
10928人在看 -
初級XSL-FO 教程
8738人在看 -
初級jQuery中文參考手冊
34642人在看 -
初級MongoDB 教學(xué)課程
25418人在看 -
初級Scala教程
13739人在看 -
初級CSS 線上手冊
82248人在看 -
初級SVG 教程
13130人在看 -
初級AngularJS中文參考手冊
24573人在看 -
初級Go語言教程手冊
27434人在看
看過本課程的同學(xué)也在學(xué)習(xí)
- 簡單聊聊PHP創(chuàng)業(yè)那點(diǎn)事
- Web前端開發(fā)極速入門
- 大型實(shí)戰(zhàn)天龍八部之開發(fā)Mini版MVC架構(gòu)仿糗事百科網(wǎng)站
- PHP實(shí)戰(zhàn)開發(fā)極速入門: PHP快速創(chuàng)建[小型商業(yè)論壇]
- 登入驗(yàn)證與經(jīng)典留言板
- 電腦網(wǎng)路知識集合
- 快速入門Node.JS全套完整版
- 最懂你的大前端課:HTML5/CSS3/ES6/NPM/Vue/...【原文】
- 自己動(dòng)手寫 PHP MVC 框架(40節(jié)精講/鉅細(xì)/新人進(jìn)階必看)