摘要:格式化日期時(shí)間格式化日期時(shí)間場(chǎng)景將當(dāng)前日期時(shí)間或者特定日期時(shí)間格式化輸出為特定格式的字符串常用于人性化展示信息說明返回給定時(shí)間戳格式化后所產(chǎn)生的日期時(shí)間字符串如果沒有給出時(shí)間戳則默認(rèn)使用本地當(dāng)前時(shí)間備注格式說明返回值示例位數(shù)字完整表示的年份
格式化日期時(shí)間
date : 格式化日期時(shí)間
場(chǎng)景
將當(dāng)前日期時(shí)間或者特定日期時(shí)間格式化輸出為特定格式的字符串,常用于人性化展示信息.
說明
返回給定時(shí)間戳格式化后所產(chǎn)生的日期時(shí)間字符串,如果沒有給出時(shí)間戳則默認(rèn)使用本地當(dāng)前時(shí)間.
備注
格式 | 說明 | 返回值示例 |
---|---|---|
Y | 4 位數(shù)字完整表示的年份 | 2019 |
y | 2 位數(shù)字表示的年份 | 19 |
M | 三個(gè)字母縮寫表示的月份 | Jan 到 Dec |
m | 數(shù)字表示的月份,有前導(dǎo)零 | 01 到 12 |
D | 星期中的第幾天,文本表示,3個(gè)字母 | Mon 到 Sun |
d | 月份中的第幾天,有前導(dǎo)零的 2 位數(shù)字 | 01 到 31 |
H | 小時(shí),24 小時(shí)格式,有前導(dǎo)零 | 00 到 23 |
h | 小時(shí),12 小時(shí)格式,有前導(dǎo)零 | 01 到 12 |
I | 是否為夏令時(shí) | 如果是夏令時(shí)為1 ,否則為 0 |
i | 有前導(dǎo)零的分鐘數(shù) | 00 到 59 |
S | 每月天數(shù)后面的英文后綴,2 個(gè)字符 | st,nd,rd 或者 th ,可以和 j 一起用 |
s | 秒數(shù),有前導(dǎo)零 | 00 到 59 |
常用格式
// 形如 2019-05-31 12:00:00 echo date("Y-m-d H:i:s"); // 形如 2019/05/31 12:00:00 echo date("Y/m/d H:i:s"); // 形如 2019年05月31日 12時(shí)00分00秒 echo date("Y年m月d日 H時(shí)i分s秒");
示例
"; // `Y年m月d日 H時(shí)i分s秒` 格式化當(dāng)前時(shí)間 : 2019年05月30日 22時(shí)32分46秒 echo "當(dāng)前時(shí)間 : ".date("Y年m月d日 H時(shí)i分s秒")."日期轉(zhuǎn)化時(shí)間戳
"; // `Y-m-d H:i:s` 格式化當(dāng)前時(shí)間 : 2019-05-30 22:32:46 echo "當(dāng)前時(shí)間 : ".date("Y-m-d H:i:s")."
"; // `w` 星期中的第幾天,數(shù)字表示: 0(表示星期天)到 6(表示星期六) switch (date("w")) { case "0": $dayStr = "日"; break; case "1": $dayStr = "一"; break; case "2": $dayStr = "二"; break; case "3": $dayStr = "三"; break; case "4": $dayStr = "四"; break; case "5": $dayStr = "五"; break; case "6": $dayStr = "六"; break; default: $dayStr = "未知"; break; } // 2019年05月30日 星期四 echo "當(dāng)前時(shí)間 : ".date("Y年m月d日")." 星期".$dayStr."
"; echo "
"; // `z` 年份中的第幾天 : 今天是全年的第149天 echo "今天是全年的第".date("z")."天
"; // `W` ISO-8601 格式年份中的第幾周,每周從星期一開始 : 本周是全年的第22周 echo "本周是全年的第".date("W")."周
"; // `t` 指定的月份有幾天 : 本月共有31天 echo "本月共有".date("t")."天
"; ?>
time : 返回當(dāng)前的 Unix 時(shí)間戳
場(chǎng)景
獲取當(dāng)前日期時(shí)間或特定日期時(shí)間的時(shí)間戳,常用于日期時(shí)間之間的相互轉(zhuǎn)換.
說明
返回自從 Unix 紀(jì)元(格林威治時(shí)間 1970年1月1日 00:00:00)到當(dāng)前時(shí)間的秒數(shù).
示例
"; // 一周前的日期時(shí)間: 7 days; 24 hours; 60 mins; 60 secs $preWeek = time() - (7 * 24 * 60 * 60); echo "現(xiàn)在是".date("Y-m-d H:i:s").",上周是".date("Y-m-d H:i:s",$preWeek)."
"; // 一周后的日期時(shí)間: 7 days; 24 hours; 60 mins; 60 secs $nextWeek = time() + (7 * 24 * 60 * 60); echo "現(xiàn)在是".date("Y-m-d H:i:s").",下周是".date("Y-m-d H:i:s",$nextWeek)."
"; ?>
microtime : 返回當(dāng)前 Unix 時(shí)間戳和微秒數(shù)
場(chǎng)景
獲取當(dāng)前日期時(shí)間或特定日期時(shí)間的時(shí)間戳,常用于程序運(yùn)行過程打點(diǎn)分析,也可以用于日期時(shí)間之間的互相轉(zhuǎn)換.
說明
當(dāng)前 Unix 時(shí)間戳以及微秒數(shù),本函數(shù)僅在支持 gettimeofday()` 系統(tǒng)調(diào)用的操作系統(tǒng)下可用.
示例
"; // 當(dāng)前日期時(shí)間戳 echo "當(dāng)前日期時(shí)間戳: ".time()." <--> ".microtime()." <--> ".microtime(TRUE)."
"; ?>
mktime : 取得一個(gè)日期的 Unix 時(shí)間戳
場(chǎng)景
獲取給定日期的時(shí)間戳,按照"時(shí)分秒 月日年"格式依次解析,返回時(shí)間戳.
說明
根據(jù)給出的參數(shù)返回 Unix 時(shí)間戳.
備注
格式 | 說明 | 參數(shù)示例 |
---|---|---|
H | hour 小時(shí)數(shù) | 00 到 23 |
i | minute 分鐘數(shù) | 00 到 59 |
s | second 秒數(shù) | 00 到 59 |
n | month 月份數(shù) | 01 到 12 |
j | day 天數(shù) | 01 到 31 |
Y | year 年份數(shù),可以是兩位或四位數(shù)字 | 0-69 對(duì)應(yīng)于 2000-2069 ,70-100 對(duì)應(yīng)于 1970-2000 |
格式: 時(shí)分秒 月日年,支持從右往左依次省略,被省略的值取當(dāng)前時(shí)間的對(duì)應(yīng)值.
示例
"; // 指定日期時(shí)間戳: 時(shí)分秒 月日年 : 1559275200 <--> 2019-05-31 12:00:00 echo "2019年05月31日 12:00:00 的時(shí)間戳: ".mktime(12,0,0,5,31,2019)." <--> ".date("Y-m-d H:i:s", mktime(12,0,0,5,31,2019))."
"; // 距離國(guó)慶節(jié)還有多少天,單位秒 : 今天是2019-05-31,距離國(guó)慶節(jié)還剩122天 $nationalDay = mktime(0,0,0,10,1,2019); $currentDay = time(); $remainingDay = floor(abs($nationalDay - $currentDay)/(24*3600)); echo "今天是".date("Y-m-d").",距離國(guó)慶節(jié)還剩".$remainingDay."天
"; ?>
strtotime : 將任何字符串的日期時(shí)間描述解析為 Unix 時(shí)間戳
場(chǎng)景
將英文日期解析成時(shí)間戳,比直接解析日期方便,采用自然語義而不是編程語言進(jìn)行轉(zhuǎn)換日期.
說明
本函數(shù)預(yù)期接受一個(gè)包含美國(guó)英語日期格式的字符串并嘗試將其解析為 Unix 時(shí)間戳(自 January 1 1970 00:00:00 GMT 起的秒數(shù),其值相對(duì)于 now 參數(shù)給出的時(shí)間,如果沒有提供此參數(shù)則用系統(tǒng)當(dāng)前時(shí)間.
常用格式
// 2019-06-02 echo date("Y-m-d", strtotime("2019-05-31 +2 days")); // 2019-07-01 echo date("Y-m-d", strtotime("2019-05-31 +1 month")); // 2019-06-09 echo date("Y-m-d", strtotime("2019-05-31 +1 week 2 days 4 hours 2 seconds"));
示例
"; // 當(dāng)前日期時(shí)間戳 echo "當(dāng)前日期時(shí)間戳: ".time()." <--> ".strtotime("now")." <--> ".date("Y-m-d H:i:s", strtotime("now"))."日期時(shí)間函總結(jié)
"; // 一周后的日期時(shí)間: 7 days; 24 hours; 60 mins; 60 secs $nextWeek = time() + (7 * 24 * 60 * 60); echo "現(xiàn)在是".date("Y-m-d H:i:s").",下周是".date("Y-m-d H:i:s",$nextWeek)." <--> ".date("Y-m-d H:i:s",strtotime("+1 week"))."
"; echo "現(xiàn)在是".date("Y-m-d H:i:s").",1周2天4小時(shí)2秒是".date("Y-m-d H:i:s",strtotime("+1 week 2 days 4 hours 2 seconds"))."
"; echo "現(xiàn)在是".date("Y-m-d H:i:s").",下周三是".date("Y-m-d H:i:s",strtotime("next Thursday"))."
"; ?>
日期時(shí)間函數(shù)庫(kù)是 php 內(nèi)置的函數(shù)庫(kù),默認(rèn)情況下已啟用,值得注意的是,日期時(shí)間和時(shí)區(qū)有關(guān),建議首先設(shè)置下時(shí)區(qū).
縱觀日期時(shí)間的操作方法,總的來說,可以大致分為兩類,一類是給計(jì)算機(jī)用的,另一類是給人看的.
給人看的
date_default_timezone_set("Asia/Shanghai") : 設(shè)置當(dāng)前腳本使用的時(shí)區(qū)
date("Y-m-d H:i:s") : 格式化日期時(shí)間
date("Y-m-d", strtotime("2019-05-31 +2 days")) : 格式化英文描述的日期時(shí)間
給計(jì)算機(jī)用的
time() : 當(dāng)前時(shí)間的秒數(shù)
microtime() : 當(dāng)前時(shí)間的秒數(shù)和微秒數(shù)
strtotime() : 將字符串形式的日期時(shí)間轉(zhuǎn)換成時(shí)間戳
最后,文檔那么齊全,不懂就去多看看,忘記有啥方法全靠 ide 智能提示就好,多用用就會(huì)慢慢熟練.
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/31631.html
摘要:科普一下什么是時(shí)區(qū)眾所周知地球繞著太陽(yáng)轉(zhuǎn)的同時(shí)也會(huì)自轉(zhuǎn)因此同一時(shí)刻不同地區(qū)所接收到太陽(yáng)照射的情況不同所以有的地區(qū)是日出有的地區(qū)是日落還有的地區(qū)可能是黑夜既然地球上的不同地區(qū)時(shí)間不同那總要有統(tǒng)一的時(shí)間刻度才能方便文化科技交流吧不然大家說的都是 科普一下什么是時(shí)區(qū) 眾所周知,地球繞著太陽(yáng)轉(zhuǎn)的同時(shí)也會(huì)自轉(zhuǎn),因此同一時(shí)刻不同地區(qū)所接收到太陽(yáng)照射的情況不同,所以有的地區(qū)是日出,有的地區(qū)是日落,還...
摘要:說明本文主要講述使用作為緩存加快頁(yè)面訪問速度。何不用來做緩存,等到該達(dá)到一定瀏覽頁(yè)面后再刷新下,效率也很高??勺骶彺嫦到y(tǒng)隊(duì)列系統(tǒng)。 說明:本文主要講述使用Redis作為緩存加快頁(yè)面訪問速度。同時(shí),作者會(huì)將開發(fā)過程中的一些截圖和代碼黏上去,提高閱讀效率。 備注:作者最近在學(xué)習(xí)github上別人的源碼時(shí),發(fā)現(xiàn)好多在計(jì)算一篇博客頁(yè)面訪問量view_count時(shí)都是這么做的:利用Laravel...
摘要:操作系統(tǒng)接口模塊提供了一些與操作系統(tǒng)相關(guān)聯(lián)的函數(shù)。返回當(dāng)前目錄下所有圖片的文件名命令行參數(shù)在命令行中運(yùn)行命令時(shí),這些參數(shù)會(huì)以列表形式保存在模塊的變量中。日期和時(shí)間模塊為日期和時(shí)間處理同時(shí)提供了簡(jiǎn)單和復(fù)雜的方法。 1. 操作系統(tǒng)接口 os 模塊提供了一些與操作系統(tǒng)相關(guān)聯(lián)的函數(shù)。 >>> os.getcwd() # 獲取當(dāng)前工作目錄 /home/senius >>>...
閱讀 3685·2021-10-11 11:09
閱讀 1349·2021-09-24 10:35
閱讀 3441·2021-07-29 13:48
閱讀 472·2019-08-30 13:15
閱讀 2525·2019-08-30 12:53
閱讀 3221·2019-08-30 12:44
閱讀 2718·2019-08-29 16:57
閱讀 968·2019-08-29 12:26