本文目錄一覽:
- 1、php 的日期函數的問題
- 2、php日期相關
- 3、php的時間表示代碼誰知道?
- 4、PHP計算時間 詳細有追加 急!急!急!
- 5、PHP入門教程之日期與時間操作技巧總結(格式化,驗證,獲取,轉換,計算等)
php 的日期函數的問題
date函數返回各種格式的日期值,date(格式,[日期]),第一個參數是格式,第二個參數是日期,第二個參數可以省略(當前日期),例如date(‘l’)就得到當前星期的完整名稱,參數是小寫的字母L,結果是Sunday 到 Saturday。
date函數詳細的格式字符如下:
格式字串可以識別以下 format 參數的字符串
format 字符
說明
返回值例子
日 — —
d 月份中的第幾天,有前導零的 2 位數字 01 到 31
D 星期中的第幾天,文本表示,3 個字母 Mon 到 Sun
j 月份中的第幾天,沒有前導零 1 到 31
l(“L”的小寫字母) 星期幾,完整的文本格式 Sunday 到 Saturday
N ISO-8601 格式數字表示的星期中的第幾天(PHP 5.1.0 新加) 1(表示星期一)到 7(表示星期天)
S 每月天數後面的英文後綴,2 個字符 st,nd,rd或者 th。可以和 j 一起用
w 星期中的第幾天,數字表示 0(表示星期天)到 6(表示星期六)
z 年份中的第幾天 0 到 366
星期 — —
W ISO-8601 格式年份中的第幾周,每周從星期一開始(PHP 4.1.0 新加的) 例如:42(當年的第 42 周)
月 — —
F 月份,完整的文本格式,例如 January 或者 March January 到 December
m 數字表示的月份,有前導零 01 到 12
M 三個字母縮寫表示的月份 Jan 到 Dec
n 數字表示的月份,沒有前導零 1 到 12
t 給定月份所應有的天數 28 到 31
年 — —
L 是否為閏年 如果是閏年為 1,否則為 0
o ISO-8601 格式年份數字。這和 Y 的值相同,只除了如果 ISO 的星期數(W)屬於前一年或下一年,則用那一年。(PHP 5.1.0 新加) Examples: 1999 or 2003
Y 4 位數字完整表示的年份 例如:1999 或 2003
y 2 位數字表示的年份 例如:99 或 03
時間 — —
a 小寫的上午和下午值 am 或 pm
A 大寫的上午和下午值 AM 或 PM
B Swatch Internet 標準時 000 到 999
g 小時,12 小時格式,沒有前導零 1 到 12
G 小時,24 小時格式,沒有前導零 0 到 23
h 小時,12 小時格式,有前導零 01 到 12
H 小時,24 小時格式,有前導零 00 到 23
i 有前導零的分鐘數 00 到 59
s 秒數,有前導零 00 到 59
時區 — —
e 時區標識(PHP 5.1.0 新加) 例如:UTC,GMT,Atlantic/Azores
I 是否為夏令時 如果是夏令時為 1,否則為 0
O 與格林威治時間相差的小時數 例如:+0200
P 與格林威治時間(GMT)的差別,小時和分鐘之間有冒號分隔(PHP 5.1.3 新加) 例如:+02:00
T 本機所在的時區 例如:EST,MDT(【譯者注】在 Windows 下為完整文本格式,例如“Eastern Standard Time”,中文版會顯示“中國標準時間”)。
Z 時差偏移量的秒數。UTC 西邊的時區偏移量總是負的,UTC 東邊的時區偏移量總是正的。 -43200 到 43200
完整的日期/時間 — —
c ISO 8601 格式的日期(PHP 5 新加) 2004-02-12T15:19:21+00:00
r RFC 822 格式的日期 例如:Thu, 21 Dec 2000 16:01:07 +0200
U 從 Unix 紀元(January 1 1970 00:00:00 GMT)開始至今的秒數
php日期相關
//你還需要知道的另一個變量是年份,不過依你的意思應該是當年。
$timestamp = time();
$dateYear = date(‘Y’, $timestamp);//當前年,依當前需要可以不需要比較,但有時也許會用到,比如你的記錄不是當年要處理的
$dateMonth = date(‘n’, $timestamp);//當前月份數字,沒有前導零
$dateDay = date(‘j’, $timestamp);//月份中的第幾天,沒有前導零
//剩下的就是比較了,比如你要比較的日期是 2007-03-01
$eventDate = ‘2007-03-01’;
$eventDateArr = explode(‘-‘, $eventDate);
$eventYear = intval($eventDateArr[0]);
$eventMonth = intval($eventDateArr[1]);
$eventDay = intval($eventDateArr[2]);
//上面是年月日的拆分,根據實際情況可以調整,如果你直接可以得到就不需要這樣取了。
//之後剩下的就是比較了,先比較年
if($dateYear == $eventYear) {
//同年
if($dateMonth == $eventMonth) {
//同月
if($dateDay == $eventDay) {
//同一天,就是當前日期就是事件觸發的日期
} elseif($dateDay $eventDay) {
//事件已經過期了
} else {
//事件觸發日期還沒到
}
} else {
//之前或之後,再需要詳細判斷可以在這裡比較哪個月份大
}
} else {
//之前或之後,再需要詳細判斷可以在這裡比較哪個年份大
}
//其實這種比較是最簡單的邏輯判斷,如果你在記錄時間觸發日期時記錄的是 unix 時間戳,這裡可以直接進行時間戳比較不過需要處理一下,因為時間戳是精確到秒的
//或者把你記錄的日期及其後一天直接轉化成 unix 時間戳,時分秒都用 0 ,和當前時間戳比較,細節判斷就自己去分析吧,可用函數去查查手冊裡面 strtotime() ,時間相關函數參數很多,不過用過幾次就熟悉了。
php的時間表示代碼誰知道?
PHP獲取系統當前時間
使用函式 date() 實現
?php echo $showtime=date(“Y-m-d H:i:s”);?
顯示的格式: 年-月-日 小時:分鐘:秒
相關時間參數:
a – “am” 或是 “pm”
A – “AM” 或是 “PM”
d – 幾日,二位數字,若不足二位則前面補零; 如: “01” 至 “31”
D – 星期幾,三個英文字母; 如: “Fri”
F – 月份,英文全名; 如: “January”
h – 12 小時制的小時; 如: “01” 至 “12”
H – 24 小時制的小時; 如: “00” 至 “23”
g – 12 小時制的小時,不足二位不補零; 如: “1” 至 12″
G – 24 小時制的小時,不足二位不補零; 如: “0” 至 “23”
i – 分鐘; 如: “00” 至 “59”
j – 幾日,二位數字,若不足二位不補零; 如: “1” 至 “31”
l – 星期幾,英文全名; 如: “Friday”
m – 月份,二位數字,若不足二位則在前面補零; 如: “01” 至 “12”
n – 月份,二位數字,若不足二位則不補零; 如: “1” 至 “12”
M – 月份,三個英文字母; 如: “Jan”
s – 秒; 如: “00” 至 “59”
S – 字尾加英文序數,二個英文字母; 如: “th”,”nd”
t – 指定月份的天數; 如: “28” 至 “31”
U – 總秒數
w – 數字型的星期幾,如: “0” (星期日) 至 “6” (星期六)
Y – 年,四位數字; 如: “1999”
y – 年,二位數字; 如: “99”
z – 一年中的第幾天; 如: “0” 至 “365”
PHP計算時間 詳細有追加 急!急!急!
你的時間$time1、$time2、$time3等不要只取時分,將日期一起帶上就可以完整的比較了,哪怕下班時間在第二天也不會影響。
比如上班時間在2011.07.07 08:00:00;下班時間設定為:2011.07.08 2:30:00,那麼只要系統時間在這二者之間,就可以顯示: ‘正在營業,歡迎光臨’。
假設操作員設定時只輸入幾點幾分,比如上班時間:8:00:00;下班時間:2:30:00,那麼實際上他隱含的意思是下班在第二天的2:30,而不會是當天。對此,可以將程序設定為必須輸入日期;或者,程序在得到用戶輸入的時間後自動加上一個當前的日期,也就是不僅僅用時間作為參數,一定要加上日期。
PHP入門教程之日期與時間操作技巧總結(格式化,驗證,獲取,轉換,計算等)
本文實例講述了PHP日期與時間操作技巧。分享給大家供大家參考,具體如下:
Demo1.php
?php
//驗證時間
//checkdate()
1.月份
2.日
3.年
//checkdate()
判斷這個日期是否是合法的日期
//不合法的日期,試一試
if(checkdate(7,16,2010)){
echo
‘這個日期是合法有效的’;
}else{
echo
‘這個日期是非法的。’;
}
?
Demo2.php
?php
//date
—
格式化一個本地時間/日期
//date(),
徹底研究一下
//date()
可以存放兩個參數,第一參數是日期和時間的格式化,[第二參數是時間戳]
//Y
表示四位數的年份,
y表示二位數的年份
//M
表示英文的月份縮寫,m
表示阿拉伯數字的月份
//D
表示英文下的星期幾縮寫,d
表示阿拉伯數字的日
//第一個參數的格式化可以放一些無關緊要的字符串
//只要無關緊要的字符串不再
format
的目錄里,就不會被識別
//echo
date(‘現在的日期是:Y-m-d’);
//現在的日期是:2015-04-20
//時分秒
=
H
表示24小時制的小時,
//明明是
19
,為什麼顯示
11
點呢,東八區,差
8
個小時
//現在沒有經過任何設置,所以時間在默認時區上
//echo
date(‘現在的日期是:Y-m-d
H:i:s’);
//重點是年月日,時分秒
echo
date(‘r’);
echo
date(‘現在的日期是:Y-m-d
H:i:sa’);
?
Demo3.php
?php
//取得當前的時間,返回一個數組
//”sec”
–
自
Unix
紀元起的秒數
//”usec”
–
微秒數
//”minuteswest”
–
格林威治向西的分鐘數
//”dsttime”
–
夏令時修正的類型
//print_r(gettimeofday());
//第一數組的元素就是時間戳
//gettimeofday()
就是取得的當前時間的時間戳
//$a
=
gettimeofday();
//sec
取得當前時間的時間戳
//轉換成人可以看得懂的時間
//第二個參數,對於本例來講,放與不放,是一樣的。
//echo
date(‘Y-m-d
H:i:s’,$a[‘sec’]);
print_r(gettimeofday(0));
echo
gettimeofday(1);
?
Demo4.php
?php
//將時間戳轉換成人可以看的懂的時間
//date()
函數的第二個參數就是時間戳
//如果第二個參數省略了,那麼就返回當前時間
//如果第二個參數沒有省略,那麼就返回那個時間戳的時間
echo
date(‘Y-m-d
H:i:s’,24554457865);
?
Demo5.php
?php
//getdate()
也可以轉換時間戳
//print_r(getdate());
//Array
(
[seconds]
=
26
[minutes]
=
34
[hours]
=
10
[mday]
=
20
[wday]
=
1
[mon]
=
4
//[year]
=
2015
[yday]
=
109
[weekday]
=
Monday
[month]
=
April
[0]
=
1429526066
)
$t
=
getdate();
echo
$t[‘year’];
//傳遞一個時間戳
print_r(getdate(1029526066));
?
Demo6.php
?php
//直接獲取當前時間戳
//echo
time();//1429526328
//這個
time()
可以調整時間
//大家可以發現
time()
很有用處,可以過去現在和將來
echo
date(‘Y-m-d
H:i:s’,time()+60*60*8);
?
Demo7.php
?php
//獲取特定指定時間的時間戳
//這是當前的時間戳
//echo
time();
//我要取得
2008-08-08
08:08:08
$beijing2008
=
mktime(8,8,8,8,8,2008);
echo
date(‘Y-m-d
H:i:s’,$beijing2008);
?
Demo8.php
?php
//使用時間戳計算時間差
$now
=
time();//當前的時間戳
$wnow
=
mktime(0,0,0,8,16,2016);
//兩個時間戳相減可以得到差秒
echo
round(($wnow
–
$now)/60/60,2).’相差這幾個小時’;
?
Demo9.php
?php
//將人可讀的時間,字符串形式,轉換成時間戳
$a
=
strtotime(‘2010-7-16
15:15:15′)-strtotime(‘2010-7-16
15:14:15′);
if($a
=
60){
echo
‘請這位先生休息一會。’;
}else{
echo
$a;
}
?
Demo10.php
?php
//獲取當前文件的修改時間戳
echo
date(‘Y-m-d
H:i:s’,getlastmod());
?
Demo11.php
?php
//配置系統環境變量
echo
date(‘Y-m-d
H:i:s’);
echo
‘br/’;
//我開始設置時區
putenv(‘Tz=Asia/Shanghai’);
echo
date(‘Y-m-d
H:i:s’);
?
Demo12.php
?php
//putenv(‘Tz=Asia/Shanghai’);
//獲取當前時區
echo
date_default_timezone_get();
echo
‘br/’;
//開始配置默認時區
date_default_timezone_set(‘Asia/Shanghai’);
echo
date(‘Y-m-d
H:i:s’)
;
echo
‘br/’;
echo
date_default_timezone_get();
?
Demo13.php
?php
date_default_timezone_set(‘Asia/Shanghai’);
//”tm_sec”
–
秒數
//”tm_min”
–
分鐘數
//”tm_hour”
–
小時
//”tm_mday”
–
月份中的第幾日
//”tm_mon”
–
年份中的第幾個月,從
開始表示一月
//”tm_year”
–
年份,從
1900
開始
//”tm_wday”
–
星期中的第幾天
//”tm_yday”
–
一年中的第幾天
//”tm_isdst”
–
夏令時當前是否生效
print_r(localtime(time(),true));
//Array
(
[tm_sec]
=
37
[tm_min]
=
15
[tm_hour]
=
19
//[tm_mday]
=
20
[tm_mon]
=
3
[tm_year]
=
115
//[tm_wday]
=
1
[tm_yday]
=
109
[tm_isdst]
=
)
?
Demo14.php
?php
//返回時間戳和微秒數
//怎麼計算頁面運行加載時間
//頁面打開的時候獲取一個時間
//頁面結束的時候獲取一個時間
//用結束的時間減去打開的時間,那麼就是運行時間
//
list($a,$b)=explode(‘
‘,microtime());
//
echo
$b;
function
fn(){
list($a,$b)=explode(‘
‘,microtime());
return
$a+$b;
//返回出精確的秒數
}
//在頁面打開的時候,獲取一個時間
$start_time
=
fn();
for($i=0;$i10000000;$i++){
//
}
//頁面結束的時候,獲取一個時間
$end_time
=
fn();
echo
round(($end_time
–
$start_time),4);
?
更多關於PHP相關內容感興趣的讀者可查看本站專題:《php日期與時間用法總結》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php面向對象程序設計入門教程》、《PHP網絡編程技巧總結》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/288484.html