-
- function count_days($a,$b){
- $a_dt=getdate($a);
- $b_dt=getdate($b);
- $a_new=mktime(12,0, 0,$a_dt['mon'],$a_dt['mday'],$a_dt['year']);
- $b_new=mktime(12,0,0,$b_dt['mon'],$b_dt[ 'mday'],$b_dt['year']);
- returnround(abs($a_new-$b_new)/86400);
- }
- //今日から 2008 年 10 月 11 日までは何日ありますか
- $date1 = strtotime(time());
- $date1=strtotime('10/11/2008');
- $result=count_days($date1,$date2);
- echo $result;
- ?>
コードをコピー
方法 2:
-
- //今日から 2008 年 9 月 9 日までは何日ありますか?
- $Date_1=date("Y-m-d");
- $Date_2="2008-10-11";
- $d1 =strtotime($Date_1);
- $d2=strtotime($Date_2);
- $Days=round(($d2-$d1)/3600/24);
- echo "今日と 2008 年 10 月 11 日の違い". $Days."Days";
- ?>
コードをコピー
PHP 任意の時刻と現在時刻との時差を取得します
コード:
-
- #関数: 任意の時刻と現在の時刻との時差を取得します
- 関数 QueryDays($datestr){
- #時刻をフォーマットします
- $da=preg_split("/(-| |:) /i ",$datestr);
- $nowyear=date("Y");
- $nowmon=date("n");
- $nowday=date("d");
- $nowtimes=mktime(0,0 ,0 ,$nowmon,$nowday,$nowyear);
- $pdtimes= mktime(0,0,0,$nowmon,$nowday,$nowyear-1);
- $bjtimes= mktime(0,0,0,$ da[ 1],$da[2],$da[0]);
- #指定された時間が1年以内かどうかを判定
- if ($bjtimes>=$pdtimes and $bjtimes<=$nowtimes){
- return ( Floor(strftime("%j",mktime(0,0,0,$nowmon,$nowday,$nowyear)-mktime($da[3],$da[4],$da[5],$da[ 1],$da[2],$da[0])));
- }else{
- $loop=$nowyear-$da[0];
- $totaldays=(floor(strftime("%j", mktime(0,0,0,$nowmon,$nowday,$nowyear)-mktime(0,0,0,1,1,$nowyear))));
- for($i=1;$i<=$ループ;$i++){
- for($j=12;$j>=1;$j--){
- if ($da[0]==$nowyear-$i および $da[1]==$ j){
- $days=MonDays($nowyear-$i,$j);
- return $totaldays+=$days-$da[2];
- break;
- }else{
- $days=MonDays($nowyear-$ i,$j);
- $totaldays+=$days;
- }//end else
- }//end for
- }//end for
- }//end else
- }//end function
- #日数を取得する月内
- function MonDays($year,$month){
- switch ($month){
- case "1":
- case "3":
- case "5":
- case "7":
- case "8" :
- ケース "10":
- ケース "12": $days=31;休憩;
- ケース "4":
- ケース "6":
- ケース "9":
- ケース "11": $days=30;休憩;
- case "2":
- if (checkdate($month,29,$year)){
- $days=29;
- }else{
- $days=28;
- }//end else
- break;
- }/ /end switch
- return $days;
- }//end function
- $datestr="2002-1-14 9:47:20";
- echo QueryDays($datestr);
- ?>
コードをコピー
PHP 2つの時刻間の年、月、時、分、秒の差を計算します
PHPで年、月、時、分、秒の2つの時間の差を計算する方法
まず 2 つの時刻をタイムスタンプに変換し、次にそれらを減算して 2 つの時刻間の秒の差を取得し、最後に演算を実行して 2 つの時刻間の年、月、日、時、分、秒の差を取得します。
コード:
- $time1 = "2008-6-15 11:49:59" //初めて
- $time2 = "2007-5-5 12:53:28"; /2回目
- $t1 = strtotime($time1);
- $t2 = strtotime($time2);
- $t12 = abs($t1-$t2);
- $start = 0;
- $string = " 違い2 つの時間の間: ";
- $y = Floor($t12/(3600*24*360));
- if($start || $y )
- {
- $start = 1;
- $t12 -= $y *3600*24*360;
- $string .= $y."年";
- }
- $m = Floor($t12/(3600*24*31));
- if($start || $m)
- {
- $start = 1;
- $t12 -= $m*3600*24*31;
- $string .= $m."month";
- }
- $d = Floor($t12/(3600*24)) ;
- if($start || $d)
- {
- $start = 1;
- $t12 -= $d*3600*24;
- $string .= $d."天";
- }
- $h = フロア($t12/(3600));
- if($start || $h)
- {
- $start = 1;
- $t12 -= $h*3600;
- $string .= $h."hour";
- }
- $s = Floor($t12/(60));
- if($start || $s)
- {
- $start = 1;
- $t12 -= $s*60;
- $string .= $s ."分";
- }
- $string .= "{$t12} 秒";
- echo $string;
- ?>
-
コードをコピー
|