本文目錄一覽:
- 1、PHP入門教程之日期與時間操作技巧總結(格式化,驗證,獲取,轉換,計算等)
- 2、關於php寫日期代碼
- 3、求教 PHP 日期調用當前日期怎麼寫?
- 4、PHP代碼添加時間顯示當天的日期、時間及星期幾
- 5、php如何把輸入的時間存入數據庫
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程序設計有所幫助。
關於php寫日期代碼
date 函數的功能是格式化一個本地時間/日期
函數調用格式如下:
string date ( string format [, int timestamp] )
對於裏面格式化字符串,”D”就表示三個字母表示的星期幾,其餘還有如下格式串可以使用:
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)開始至今的秒數 參見 time()
求教 PHP 日期調用當前日期怎麼寫?
php date是將時間戳(自1970/1/1以來的秒數)格式化日期的函數
第一個參數是輸出格式,第二個參數是時間戳, 不傳的情況下讀取當前系統時間戳
所以輸出當前日期直接寫 echo date(‘Y-m-d’);就可以了.
如果輸出的時間和實際的不對應, 可以檢查下
1.服務器日期是否正確,有沒有自動同步.
2.php默認的時區配置
可以在php.ini中[Date]一節, 將
date.timezone = Asia/Shanghai
的注釋去掉, 並加上時區(Asia/Shanghai 表示中國上海,東8區)
也可以在php代碼中設置
date_default_timezone_set(‘Asia/Shanghai’);
PHP代碼添加時間顯示當天的日期、時間及星期幾
?php
date_default_timezone_set(‘Asia/Shanghai’);
?
head
title歡迎來到主頁/title
/head
body
h1
align=”center”我的主頁/h1
當前時間:?php echo(date(‘Y-m-d H:i:s’));?br
星期?php echo(date(‘N’));?
p
align=”center”歡迎大家訪問我的網站,希望大家給我提出更多的意見。
/body
/html
php如何把輸入的時間存入數據庫
像不規則的日期時間格式,可以使用varchar類型.這種可以存儲任何字符串類型的表示格式,但就是對於後期處理操作支持不太好,比如格式的format.
對於規則格式,可以使用datetime類型.可以完美支持後期的format轉義.
你這裡的11:00:00
這兩個:是不同的,所以需要存儲為varchar.具體規則的日期時間格式你可以搜一下,一般有
年-月-日 時:分:秒
日/月/年 時:分:秒
有很多的.
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/197572.html