本文執行個體講述了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" - 年份中的第幾個月,從 0 開始表示一月 //"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] => 0 )?>
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;$i<10000000;$i++){ // } //頁面結束的時候,擷取一個時間 $end_time = fn(); echo round(($end_time - $start_time),4);?>
希望本文所述對大家PHP程式設計有所協助。