首頁 >後端開發 >php教程 >php strftime函數取得日期時間php基礎

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

jacklove
jacklove原創
2018-06-23 16:35:424040瀏覽

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 時區名稱,如果不能得到時區名稱則傳回空白字元。
%% 輸出百分號

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用法

##

<?php
setlocale(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;
}
?>

下面腳本之家小編繼續補充一些關於大家範例:

<?php
echo(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實例

以上是php strftime函數取得日期時間php基礎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn