來(lái)源:阿斌啊 發(fā)布時(shí)間:2018-12-05 15:48:18 閱讀量:936
strftime是php中常見的將日期時(shí)間獲取函數(shù),將存入數(shù)據(jù)庫(kù)中的數(shù)字轉(zhuǎn)換為時(shí)間的函數(shù),這里就為大家介紹一下strftime函數(shù)的用法與參數(shù),需要的朋友可以參考下
strftime()函數(shù)的用法
strftime()函數(shù)可以把YYYY-MM-DD HH:MM:SS格式的日期字符串轉(zhuǎn)換成其它形式的字符串。
strftime()的語(yǔ)法是strftime(格式, 日期/時(shí)間, 修正符, 修正符, ...)
函數(shù)strftime()的操作有些類似于sprintf():識(shí)別以百分號(hào)(%)開始的格式命令集合,格式化輸出結(jié)果放在一個(gè)字符串中。格式化命令說(shuō)明串strDest中各種日期和時(shí)間信息的確切表示方法。格式串中的其他字符原樣放進(jìn)串中。格式命令列在下面,它們是區(qū)分大小寫的。
strftime()定義和用法
strftime() 函數(shù)根據(jù)區(qū)域設(shè)置格式化本地時(shí)間/日期。
strftime()語(yǔ)法
strftime(format,timestamp)參數(shù) 描述
format 可選。規(guī)定如何返回結(jié)果。
timestamp 可選。
提示和注釋
提示:與 gmstrftime() 的行為相同,不同的是返回時(shí)間是本地時(shí)間。
它可以用以下的符號(hào)對(duì)日期和時(shí)間進(jìn)行格式化:
%a 星期幾的簡(jiǎn)寫
%A 星期幾的全稱
%b 月份的簡(jiǎn)寫
%B 月份的全稱
%c 標(biāo)準(zhǔn)的日期的時(shí)間串
%C 年份的前兩位數(shù)字
%d 十進(jìn)制表示的每月的第幾天
%D 月/天/年
%e 在兩字符域中,十進(jìn)制表示的每月的第幾天
%F 年-月-日
%g 年份的后兩位數(shù)字,使用基于周的年
%G 年份,使用基于周的年
%h 簡(jiǎn)寫的月份名
%H 24小時(shí)制的小時(shí)
%I 12小時(shí)制的小時(shí)
%j 十進(jìn)制表示的每年的第幾天
%m 十進(jìn)制表示的月份
%M 十時(shí)制表示的分鐘數(shù)
%n 新行符
%p 本地的AM或PM的等價(jià)顯示
%r 12小時(shí)的時(shí)間
%R 顯示小時(shí)和分鐘:hh:mm
%S 十進(jìn)制的秒數(shù)
%t 水平制表符
%T 顯示時(shí)分秒:hh:mm:ss
%u 每周的第幾天,星期一為第一天 (值從1到7,星期一為1)
%U 第年的第幾周,把星期日作為第一天(值從0到53)
%V 每年的第幾周,使用基于周的年
%w 十進(jìn)制表示的星期幾(值從0到6,星期天為0)
%W 每年的第幾周,把星期一做為第一天(值從0到53)
%x 標(biāo)準(zhǔn)的日期串
%X 標(biāo)準(zhǔn)的時(shí)間串
%y 不帶世紀(jì)的十進(jìn)制年份(值從0到99)
%Y 帶世紀(jì)部分的十制年份
%z,%Z 時(shí)區(qū)名稱,如果不能得到時(shí)區(qū)名稱則返回空字符。
%% 輸出百分號(hào)
strftime()的用法舉例如下:
select strftime('%Y-%m-%d %H:%M:%S','now','localtime');
結(jié)果:2018-5.15 23:58:09
其實(shí)更好的用法是這樣的,比如統(tǒng),本月或本年的支出:
select strftime('%Y-%m',日期) as 月份,sum(支出) as 月支出 from 流水帳 group by 月份;
switch用法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
下面腳本之家小編繼續(xù)為大家補(bǔ)充一些例子:
1 2 3 4 5 6 7 |
|
輸出:
Dec 31 1998 20:00:00
Dec 31 1998 19:00:00
獲取指定日期的unix時(shí)間戳 strtotime("2009-1-22") 示例如下:
echo strtotime("2009-1-22") 結(jié)果:1232553600
說(shuō)明:返回2009年1月22日0點(diǎn)0分0秒時(shí)間戳
二,獲取英文文本日期時(shí)間 示例如下:
便于比較,使用date將當(dāng)時(shí)間戳與指定時(shí)間戳轉(zhuǎn)換成系統(tǒng)時(shí)間
(1)打印明天此時(shí)的時(shí)間戳strtotime(" 1 day")
當(dāng)前時(shí)間:echo date("Y-m-d H:i:s",time()) 結(jié)果:2009-01-22 09:40:25
指定時(shí)間:echo date("Y-m-d H:i:s",strtotime(" 1 day")) 結(jié)果:2009-01-23 09:40:25
(2)打印昨天此時(shí)的時(shí)間戳strtotime("-1 day")
當(dāng)前時(shí)間:echo date("Y-m-d H:i:s",time()) 結(jié)果:2009-01-22 09:40:25
指定時(shí)間:echo date("Y-m-d H:i:s",strtotime("-1 day")) 結(jié)果:2009-01-21 09:40:25
(3)打印下個(gè)星期此時(shí)的時(shí)間戳strtotime(" 1 week")
當(dāng)前時(shí)間:echo date("Y-m-d H:i:s",time()) 結(jié)果:2009-01-22 09:40:25
指定時(shí)間:echo date("Y-m-d H:i:s",strtotime(" 1 week")) 結(jié)果:2009-01-29 09:40:25
(4)打印上個(gè)星期此時(shí)的時(shí)間戳strtotime("-1 week")
當(dāng)前時(shí)間:echo date("Y-m-d H:i:s",time()) 結(jié)果:2009-01-22 09:40:25
指定時(shí)間:echo date("Y-m-d H:i:s",strtotime("-1 week")) 結(jié)果:2009-01-15 09:40:25
(5)打印指定下星期幾的時(shí)間戳strtotime("next Thursday")
當(dāng)前時(shí)間:echo date("Y-m-d H:i:s",time()) 結(jié)果:2009-01-22 09:40:25
指定時(shí)間:echo date("Y-m-d H:i:s",strtotime("next Thursday")) 結(jié)果:2009-01-29 00:00:00
(6)打印指定上星期幾的時(shí)間戳strtotime("last Thursday")
當(dāng)前時(shí)間:echo date("Y-m-d H:i:s",time()) 結(jié)果:2009-01-22 09:40:25
指定時(shí)間:echo date("Y-m-d H:i:s",strtotime("last Thursday")) 結(jié)果:2009-01-15 00:00:00
PHP多維數(shù)組指定多字段排序的示例代碼_php實(shí)例
php實(shí)現(xiàn)姓名根據(jù)首字母排序的類與方法(實(shí)例代碼)php實(shí)例
PHP實(shí)現(xiàn)多圖上傳和單圖上傳功能php實(shí)例
在線
客服
服務(wù)時(shí)間:周一至周日 08:30-18:00
選擇下列產(chǎn)品馬上在線溝通:
客服
熱線
7*24小時(shí)客服服務(wù)熱線
關(guān)注
微信
關(guān)注官方微信