這篇文章主要介紹php如何格式化日期時間,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
成都創(chuàng)新互聯(lián)公司長期為上千家客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網生態(tài)環(huán)境。為臨桂企業(yè)提供專業(yè)的成都做網站、成都網站制作,臨桂網站改版等技術服務。擁有十余年豐富建站經驗和眾多成功案例,為您定制開發(fā)。格式化日期時間
date : 格式化日期時間
場景
將當前日期時間或者特定日期時間格式化輸出為特定格式的字符串,常用于人性化展示信息.
說明
返回給定時間戳格式化后所產生的日期時間字符串,如果沒有給出時間戳則默認使用本地當前時間.
備注
格式 | 說明 | 返回值示例 |
---|---|---|
Y | 4 位數(shù)字完整表示的年份 | 2019 |
y | 2 位數(shù)字表示的年份 | 19 |
M | 三個字母縮寫表示的月份 | Jan 到 Dec |
m | 數(shù)字表示的月份,有前導零 | 01 到 12 |
D | 星期中的第幾天,文本表示,3 個字母 | Mon 到 Sun |
d | 月份中的第幾天,有前導零的 2 位數(shù)字 | 01 到 31 |
H | 小時,24 小時格式,有前導零 | 00 到 23 |
h | 小時,12 小時格式,有前導零 | 01 到 12 |
I | 是否為夏令時 | 如果是夏令時為1 ,否則為 0 |
i | 有前導零的分鐘數(shù) | 00 到 59 |
S | 每月天數(shù)后面的英文后綴,2 個字符 | st,nd,rd 或者 th ,可以和 j 一起用 |
s | 秒數(shù),有前導零 | 00 到 59 |
常用格式
// 形如 2019-05-31 12:00:00echo date("Y-m-d H:i:s"); // 形如 2019/05/31 12:00:00echo date("Y/m/d H:i:s"); // 形如 2019年05月31日 12時00分00秒echo date("Y年m月d日 H時i分s秒");
示例
<?php // 設置當前時區(qū)為上海時區(qū) date_default_timezone_set("Asia/Shanghai"); // 獲取當前時區(qū) : Asia/Shanghai echo "當前時區(qū) : ".date_default_timezone_get()."<br/>"; // `Y年m月d日 H時i分s秒` 格式化當前時間 : 2019年05月30日 22時32分46秒 echo "當前時間 : ".date("Y年m月d日 H時i分s秒")."<br/>"; // `Y-m-d H:i:s` 格式化當前時間 : 2019-05-30 22:32:46 echo "當前時間 : ".date("Y-m-d H:i:s")."<br/>"; // `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 "當前時間 : ".date("Y年m月d日")." 星期".$dayStr."<br/>"; echo "<hr/>"; // `z` 年份中的第幾天 : 今天是全年的第149天 echo "今天是全年的第".date("z")."天<br/>"; // `W` ISO-8601 格式年份中的第幾周,每周從星期一開始 : 本周是全年的第22周 echo "本周是全年的第".date("W")."周<br/>"; // `t` 指定的月份有幾天 : 本月共有31天 echo "本月共有".date("t")."天<br/>"; ?>
日期轉化時間戳
time : 返回當前的 Unix 時間戳
場景
獲取當前日期時間或特定日期時間的時間戳,常用于日期時間之間的相互轉換.
說明
返回自從 Unix 紀元(格林威治時間 1970年1月1日 00:00:00)到當前時間的秒數(shù).
示例
<?php // 設置當前時區(qū)為上海時區(qū) date_default_timezone_set("Asia/Shanghai"); // 獲取當前時區(qū) echo "當前時區(qū) : ".date_default_timezone_get()."<br/>"; // 一周前的日期時間: 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)."<br/>"; // 一周后的日期時間: 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)."<br/>"; ?>
microtime : 返回當前 Unix 時間戳和微秒數(shù)
場景
獲取當前日期時間或特定日期時間的時間戳,常用于程序運行過程打點分析,也可以用于日期時間之間的互相轉換.
說明
當前 Unix 時間戳以及微秒數(shù),本函數(shù)僅在支持 `gettimeofday()`` 系統(tǒng)調用的操作系統(tǒng)下可用.
示例
<?php // 設置當前時區(qū)為上海時區(qū) date_default_timezone_set("Asia/Shanghai"); // 獲取當前時區(qū) cho "當前時區(qū) : ".date_default_timezone_get()."<br/>"; // 當前日期時間戳 echo "當前日期時間戳: ".time()." <--> ".microtime()." <--> ".microtime(TRUE)."<br/>"; ?>
mktime : 取得一個日期的 Unix 時間戳
場景
獲取給定日期的時間戳,按照"時分秒 月日年"格式依次解析,返回時間戳.
說明
根據給出的參數(shù)返回 Unix 時間戳.
備注
格式 | 說明 | 參數(shù)示例 |
---|---|---|
H | hour 小時數(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 對應于 2000-2069 ,70-100 對應于 1970-2000 |
格式: 時分秒 月日年,支持從右往左依次省略,被省略的值取當前時間的對應值.
示例
<?php // 設置當前時區(qū)為上海時區(qū) date_default_timezone_set("Asia/Shanghai"); // 獲取當前時區(qū) echo "當前時區(qū) : ".date_default_timezone_get()."<br/>"; // 指定日期時間戳: 時分秒 月日年 : 1559275200 <--> 2019-05-31 12:00:00 echo "2019年05月31日 12:00:00 的時間戳: ".mktime(12,0,0,5,31,2019)." <--> ".date("Y-m-d H:i:s", mktime(12,0,0,5,31,2019))."<br/>"; // 距離國慶節(jié)還有多少天,單位秒 : 今天是2019-05-31,距離國慶節(jié)還剩122天 $nationalDay = mktime(0,0,0,10,1,2019); $currentDay = time(); $remainingDay = floor(abs($nationalDay - $currentDay)/(24*3600)); echo "今天是".date("Y-m-d").",距離國慶節(jié)還剩".$remainingDay."天<br/>"; ?>
strtotime : 將任何字符串的日期時間描述解析為 Unix 時間戳
場景
將英文日期解析成時間戳,比直接解析日期方便,采用自然語義而不是編程語言進行轉換日期.
說明
本函數(shù)預期接受一個包含美國英語日期格式的字符串并嘗試將其解析為 Unix 時間戳(自 January 1 1970 00:00:00 GMT 起的秒數(shù),其值相對于 now 參數(shù)給出的時間,如果沒有提供此參數(shù)則用系統(tǒng)當前時間.
常用格式
// 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"));
示例
<?php // 設置當前時區(qū)為上海時區(qū) date_default_timezone_set("Asia/Shanghai"); // 獲取當前時區(qū) echo "當前時區(qū) : ".date_default_timezone_get()."<br/>"; // 當前日期時間戳 echo "當前日期時間戳: ".time()." <--> ".strtotime("now")." <--> ".date("Y-m-d H:i:s", strtotime("now"))."<br/>"; // 一周后的日期時間: 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"))."<br/>"; echo "現(xiàn)在是".date("Y-m-d H:i:s").",1周2天4小時2秒是".date("Y-m-d H:i:s",strtotime("+1 week 2 days 4 hours 2 seconds"))."<br/>"; echo "現(xiàn)在是".date("Y-m-d H:i:s").",下周三是".date("Y-m-d H:i:s",strtotime("next Thursday"))."<br/>"; ?>
日期時間函總結
日期時間函數(shù)庫是 php 內置的函數(shù)庫,默認情況下已啟用,值得注意的是,日期時間和時區(qū)有關,建議首先設置下時區(qū).
縱觀日期時間的操作方法,總的來說,可以大致分為兩類,一類是給計算機用的,另一類是給人看的.
給人看的
date_default_timezone_set("Asia/Shanghai") : 設置當前腳本使用的時區(qū)date("Y-m-d H:i:s") : 格式化日期時間date("Y-m-d", strtotime("2019-05-31 +2 days")) : 格式化英文描述的日期時間
給計算機用的
time() : 當前時間的秒數(shù)microtime() : 當前時間的秒數(shù)和微秒數(shù)strtotime() : 將字符串形式的日期時間轉換成時間戳
最后,文檔那么齊全,不懂就去多看看,忘記有啥方法全靠 ide 智能提示就好,多用用就會慢慢熟練。
以上是php如何格式化日期時間的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)成都網站設計公司行業(yè)資訊頻道!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
新聞標題:php如何格式化日期時間-創(chuàng)新互聯(lián)
當前URL:http://www.rwnh.cn/article18/dcojgp.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、定制網站、品牌網站設計、網頁設計公司、品牌網站建設、手機網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容