PHP中日期和時間相關函數(shù)簡介
為鐵西等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及鐵西網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為成都網(wǎng)站建設、網(wǎng)站制作、鐵西網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!一、UNIX時間戳
在當前大多數(shù)的UNIX系統(tǒng)中,保存當前日期和時間的方法是:保存格林尼治標準時間從1970年1月1日零點起到當前時刻的秒數(shù),以32為整列表示。1970年1月1日零點也稱為UNIX紀元。在Windows系統(tǒng)下也可以使用UNIX時間戳,簡稱時間戳,但如果時間在1970年以前或2038年以后,處理的時候可能會出現(xiàn)問題。
PHP在處理有些數(shù)據(jù),特別是對數(shù)據(jù)庫中時間類型的數(shù)據(jù)進行格式化時,經(jīng)常需要先將時間類型的數(shù)據(jù)轉(zhuǎn)化為UNIX時間戳再進行處理,另外,不同的數(shù)據(jù)庫系統(tǒng)對時間類型的數(shù)據(jù)不能兼容轉(zhuǎn)換,這時就需要將時間轉(zhuǎn)化為UNIX時間戳,再對時間戳進行操作,這樣就實現(xiàn)了不同數(shù)據(jù)庫系統(tǒng)的跨平臺性。
二、時間轉(zhuǎn)化為時間戳
將用字符串表達的日期和時間轉(zhuǎn)化為時間戳的形式,可以使用strtotime()函數(shù)。
int strtotime(string $time[,int $now])
$time是包含英語日期格式的字符串,$time值如果有毫秒數(shù)將被忽略。其值相對于$now參數(shù)給出的時間,如果沒有給出則默認使用系統(tǒng)當前時間。
如果給定的年份是兩位數(shù)字的形式,則年份值0~69表示2000~2069,70~100表示1970~2000.
另一個取得日期的UNIX時間戳的函數(shù)是mktime()函數(shù),語法如下:
int mktime([int,$hour[,int $minute[,int $second[,$int $month[,int $day[,int $year]]]]]])
如果所有參數(shù)都為空,則默認為當前時間。
三、獲取日期和時間
1.date()函數(shù)
date()函數(shù)的作用是將時間戳按照給定的格式轉(zhuǎn)化為具體的日期和時間字符串。
string date(string $format[,int $timestamp])
說明:$format指定了轉(zhuǎn)化后的日期和時間的格式,$timestamp是需要轉(zhuǎn)化的時間戳,如果省略則使用本地當前時間,即默認值為time()函數(shù)的值。time()函數(shù)返回當前時間的時間戳。
date()函數(shù)指出的格式代碼
字符 | 說明 | 返回值例子 |
d | 月份中的第幾天 | 01~31 |
D | 星期中的第幾天 | Mon到Sun |
j | 月份中的第幾天,沒有前導零 | 1~31 |
I | 星期幾,完整的文本格式 | Sunday~Saturday |
N | ISO-8601格式數(shù)字表示的星期中的第幾天 | 1(星期一)~7(星期天) |
S | 每月天數(shù)后面的英文后綴,用2個字符表示 | st、nd、rd或th,可以和j一起用 |
w | 星期中的第幾天,數(shù)字表示 | 0(星期天)~6(星期六) |
z | 年份中的第幾天 | 0~366 |
W | ISO-8601格式年份中的第幾周,每周從星期一開始 | 例如:42(當年第42周) |
F | 月份,完整的文本格式,如January或March | January~December |
m | 數(shù)字表示的月份,有前導零 | 01~12 |
M | 三個字母縮寫表示的月份 | Jan~Dec |
n | 數(shù)字表示的月份,沒有前導零 | 1~12 |
t | 給定月份所應有的天數(shù) | 28~31 |
L | 是否為閏年 | 如果是閏年為1,否則為0 |
o | ISO-8601格式年份數(shù)字。這和Y的值相同,只是如果ISO的星期數(shù)(W)屬于前一年或下一年,則用那一年 | 例如:1999或2003 |
Y | 4為數(shù)字完整表示的年份 | 例如:1999或2003 |
y | 2位數(shù)字表示的年份 | 例如:99和93 |
a | 小寫的上午和下午值 | am和pm |
A | 大寫的上午和下午值 | AM和PM |
B | Swatch Internet標準時 | 000-999 |
g | 小時,12小時格式,沒有前導零 | 1~12 |
G | 小時,24小時格式,沒有前導零 | 0~24 |
h | 小時,12小時格式,有前導零 | 01~12 |
H | 小時,24小時格式,有前導零 | 00~23 |
i | 有前導零的分鐘數(shù) | 00~59 |
s | 秒數(shù),有前導零 | 00~59 |
e | 時區(qū)標志 | 例如:UTC、GMT |
I | 是否為夏令時 | 如果是夏令時為1,否則為0 |
O | 與格林尼治時間相差的小時數(shù) | 例如:+0200 |
P | 與格林尼治時間(GMT)的差別,小時和分鐘之間用冒號分割 | 例如:+02:00 |
T | 本機所在的時區(qū) | 例如:EST、MDT |
Z | 時區(qū)偏移量的秒數(shù)。UTC西邊的時區(qū)偏移量總是負的,UTC東區(qū)的時區(qū)偏移量總是正的 | -43200~43200 |
c | ISO8601格式的日期 | 2004-02-12T15:19:21+00:00 |
r | RFC822格式的日期 | Thu,21,Dec2000 16:01:07 +0200 |
U | 從UNIX紀元開始至今的秒數(shù) | time()函數(shù) |
2.getdate()函數(shù)
使用getdate()函數(shù)也可以獲取日期和時間信息。
array getdate([int ,$timestamp])
說明:$timestamp是要轉(zhuǎn)化的時間戳,如果不給出則使用當前時間。函數(shù)根據(jù)$timestamp返回一個包含日期和時間信息的數(shù)組。
getdate()函數(shù)返回的數(shù)組中的鍵名和值
鍵名 | 說明 | 舉例 |
seconds | 秒的數(shù)字表示 | 0~59 |
minutes | 分鐘的數(shù)字表示 | 0~59 |
hours | 小時的數(shù)字表示 | 0~23 |
mday | 月份中第幾天的數(shù)字表示 | 1~31 |
wday | 星期中第幾天的數(shù)字表示 | 0(表示星期天)~6(表示星期六) |
mon | 月份的數(shù)字表示 | 1~12 |
year | 4位數(shù)字表示的完整年份 | 例如:1993或2003 |
yday | 一年中第幾天的數(shù)字表示 | 0~365 |
weekday | 星期幾的完整文本表示 | Sunday~Saturday |
month | 月份的完整文本表示 | January~December |
0 | 自UNIX紀元開始至今的秒數(shù) | 系統(tǒng)相關,典型值從-2147483648~2147483647 |
四、其他日期和時間函數(shù)
1.日期和時間的計算
由于時間戳是32位整型數(shù)據(jù),所以通過對時間戳進行加減法運算可計算兩個時間的差值。
2.檢查日期
checkdate()函數(shù)可以用于檢查一個日期數(shù)據(jù)是否有效,語法如下:
bool checkdate(int $month,int $day,int $year)
說明:$year的值是從1到32767,$month的值從1到12,$day的值在給定的$month值所具有的天數(shù)范圍內(nèi),其中閏年的情況也考慮在內(nèi)。當給定的日期是有效的日期時,函數(shù)返回TRUE,否則返回FALSE,
3.設置時區(qū)
系統(tǒng)默認的是格林尼治標準時間,所以顯示當前時間可能與本地時間會有差別,PHP中提供了可以修改時區(qū)的函數(shù)date_default_timezone_set().
bool date_default_timezone_set(string $timezone_identifier)
參數(shù)$timezone_identifier為要指定的時區(qū),中國大陸可用的值是Asia/Chongqing,Asia/Shanghai,Asia/Urumqi。北京時間可以使用PRC。
另外,還可以通過修改PHP配置文件的方法修改默認時區(qū):打開php.ini,找到date_timezone選項,將選項前面的分號“;”去掉,將選項的值設為要設置的默認時區(qū)的時區(qū)標志符。保存后重啟Apache,系統(tǒng)默認的時區(qū)就設置完了。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
本文名稱:PHP中日期和時間函數(shù)簡介-創(chuàng)新互聯(lián)
文章鏈接:http://aaarwkj.com/article14/cojgge.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設、動態(tài)網(wǎng)站、面包屑導航、云服務器、商城網(wǎng)站、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容