php strftime函數擷取日期時間php基礎

來源:互聯網
上載者:User
strftime是php中常見的將日期時間擷取函數,將存入資料庫中的數字轉換為時間的函數,這裡就為大家介紹一下strftime函數的用法與參數,需要的朋友可以參考下

strftime()函數的用法

strftime()函數可以把YYYY-MM-DD HH:MM:SS格式的日期文字轉換成其它形式的字串。
strftime()的文法是strftime(格式, 日期/時間, 修正符, 修正符, ...)

函數strftime()的操作有些類似於sprintf():識別以百分比符號(%)開始的格式命令集合,格式化輸出結果放在一個字串中。格式化命令說明串strDest中各種日期和時間資訊的確切表示方法。格式串中的其他字元原樣放進串中。格式命令列在下面,它們是區分大小寫。

strftime()定義和用法
strftime() 函數根據地區設定格式化本地時間/日期。

strftime()文法
strftime(format,timestamp)參數 描述
format 可選。規定如何返回結果。
timestamp 可選。
提示和注釋
提示:與 gmstrftime() 的行為相同,不同的是返回時間是本地時間。

它可以用以下的符號對日期和時間進行格式化:

%a 星期幾的簡寫
%A 星期幾的全稱
%b 月份的簡寫
%B 月份的全稱
%c 標準的日期的時間串
%C 年份的前兩位元字
%d 十進位表示的每月的第幾天
%D 月/天/年
%e 在兩字元域中,十進位表示的每月的第幾天
%F 年-月-日
%g 年份的後兩位元字,使用基於周的年
%G 年份,使用基於周的年
%h 簡寫的月份名
%H 24小時制的小時
%I 12小時制的小時
%j 十進位表示的每年的第幾天
%m 十進位表示的月份
%M 十時製表示的分鐘數
%n 新行符
%p 本地的AM或PM的等價顯示
%r 12小時的時間
%R 顯示小時和分鐘:hh:mm
%S 十進位的秒數
%t 水平定位字元
%T 顯示時分秒:hh:mm:ss
%u 每周的第幾天,星期一為第一天 (值從1到7,星期一為1)
%U 第年的第幾周,把星期日作為第一天(值從0到53)
%V 每年的第幾周,使用基於周的年
%w 十進位表示的星期幾(值從0到6,星期天為0)
%W 每年的第幾周,把星期一做為第一天(值從0到53)
%x 標準的日期串
%X 標準的時間串
%y 不帶世紀的十進位年份(值從0到99)
%Y 帶世紀部分的十制年份
%z,%Z 時區名稱,如果不能得到時區名稱則返回Null 字元。
%% 輸出百分比符號

strftime()的用法舉例如下:

select strftime('%Y-%m-%d %H:%M:%S','now','localtime');
結果:2018-5.15 23:58:09
其實更好的用法是這樣的,比如統,本月或本年的支出:
select strftime('%Y-%m',日期) as 月份,sum(支出) as 月支出 from 流水帳 group by 月份;

switch用法

<?phpsetlocale(LC_TIME,"chs");     //設定本地環境$weekday = strftime("%A");     //聲明變數$weekday的值,獲得了系統時間並只需要擷取星期幾switch ($weekday){     //switch語句,判斷$weekday的值 case "星期一":     //如果變數的值為“星期一” echo "今天是$weekday ,新的一天開始了!"; break; case "星期二":     //如果變數的值為“星期二” echo "今天是$weekday ,認真的工作態度真的很重要!"; break; case "星期三":     //如果變數的值為“星期三” echo "今天是$weekday ,充實生活,努力工作!"; break; case "星期四":     //如果變數的值為“星期四” echo "今天是$weekday ,勤奮才能創造績效,加油!)"; break; case "星期五":     //如果變數的值為“星期五” echo "今天是$weekday ,積極完成工作任務!"; break; case "星期六":     //如果變數的值為“星期六” echo "今天是$weekday ,可以放鬆心情了!"; break; default:      //預設值 echo "今天是$weekday , 去happy一下!"; break;}?>

下面指令碼之家小編繼續為大家補充一些例子:

<?phpecho(strftime("%b %d %Y %X", mktime(20,0,0,12,31,98)));echo(gmstrftime("%b %d %Y %X", mktime(20,0,0,12,31,98)));//輸出當前日期、時間和時區echo(gmstrftime("It is %a on %b %d, %Y, %X time zone: %Z",time()));?>

輸出:

Dec 31 1998 20:00:00
Dec 31 1998 19:00:00

擷取指定日期的unix時間戳記 strtotime("2009-1-22") 樣本如下:
echo strtotime("2009-1-22") 結果:1232553600
說明:返回2009年1月22日0點0分0秒時間戳記

二,擷取英文文本日期時間 樣本如下:
便於比較,使用date將當時間戳記與指定時間戳記轉換成系統時間

(1)列印明天此時的時間戳記strtotime(" 1 day")
目前時間:echo date("Y-m-d H:i:s",time()) 結果:2009-01-22 09:40:25
指定時間:echo date("Y-m-d H:i:s",strtotime(" 1 day")) 結果:2009-01-23 09:40:25

(2)列印昨天此時的時間戳記strtotime("-1 day")
目前時間:echo date("Y-m-d H:i:s",time()) 結果:2009-01-22 09:40:25
指定時間:echo date("Y-m-d H:i:s",strtotime("-1 day")) 結果:2009-01-21 09:40:25

(3)列印下個星期此時的時間戳記strtotime(" 1 week")
目前時間:echo date("Y-m-d H:i:s",time()) 結果:2009-01-22 09:40:25
指定時間:echo date("Y-m-d H:i:s",strtotime(" 1 week")) 結果:2009-01-29 09:40:25

(4)列印上個星期此時的時間戳記strtotime("-1 week")
目前時間:echo date("Y-m-d H:i:s",time()) 結果:2009-01-22 09:40:25
指定時間:echo date("Y-m-d H:i:s",strtotime("-1 week")) 結果:2009-01-15 09:40:25

(5)列印指定下星期幾的時間戳記strtotime("next Thursday")
目前時間:echo date("Y-m-d H:i:s",time()) 結果:2009-01-22 09:40:25
指定時間:echo date("Y-m-d H:i:s",strtotime("next Thursday")) 結果:2009-01-29 00:00:00

(6)列印指定上星期幾的時間戳記strtotime("last Thursday")
目前時間:echo date("Y-m-d H:i:s",time()) 結果:2009-01-22 09:40:25
指定時間:echo date("Y-m-d H:i:s",strtotime("last Thursday")) 結果:2009-01-15 00:00:00

您可能感興趣的文章:

PHP多維陣列指定多欄位排序的範例程式碼_php執行個體

php實現姓名根據首字母排序的類與方法(執行個體代碼)php執行個體

PHP實現多圖上傳和單圖上傳功能php執行個體

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.