本文實例講述了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相關內容感興趣的讀者可查看本站專題:《php日期與時間用法總結》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php面向對象程序設計入門教程》、《PHP網絡編程技巧總結》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。