ホームページ >バックエンド開発 >PHPチュートリアル >PHP は 2 つの日付間の日数を計算します_PHP チュートリアル

PHP は 2 つの日付間の日数を計算します_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 16:57:441992ブラウズ

この記事では、PHP で 2 つの日付の間の日数を計算する例を詳しく紹介します。通常、日付を strtotime で変換してから計算するため、時間まで正確に計算できます。 、分と秒。


例 1

日付を直接変換

コードは次のとおりです コードをコピー

関数 daysbeendates($date1, $date2){
$date1 = strtotime($date1); $date2 = strtotime($date2); $days = ceil(abs($date1 - $date2)/86400); $days を返します。 }



例 2

コードは次のとおりです

コードをコピー functionmaketime($date) {
list($year,$month,$day) =explode('-',$date);

returnmktime(0,0,0,$month,$day,$year);
}
$date1 = '2007-01-08';
$date2 = '2007-03-01';
$d = (maketime($date2) - maketime($date1)) / (3600*24);
echo「その差は $d 日です」;

?>


例 3

PHP は 2 つの日付間の年、月、週、日の計算を実装します

コードは次のとおりです コードをコピー
関数形式($a,$b){
// 2 つの日付のサイズを確認します。デフォルトでは、小さい方が前に、大きい方が後ろにあります。最初の日付が大きく、最後の日付が小さい場合は、位置を交換して最初の日付が小さくなるようにします。最後の方が大きいです
If(strtotime($a)>strtotime($b)) list($a,$b)=array($b,$a);
$start = strtotime($a);
$stop = strtotime($b);
$extend = ($stop-$start)/86400;
$result['extends'] = $extend;
if($ extend< 7){ $result['daily'] = $extend;
} Elseif ($ extend & lt; = 31) {// 28 日以内の週間返品数を戻します。 If($stop==strtotime($a.'+1 month')){
$result['monthly'] = 1;
}その他{
$w = Floor($extend/7);
$d = ($stop-strtotime($a.'+'.$w.' 週'))/86400;
$result['weekly'] = $w;
$result['daily'] = $d;
}
}その他{
$ y = if($ y> = 1){ $start = strtotime($a.'+'.$y.'year');
に // 本当に 1 年が経過したかどうかを判断し、そうでない場合は減らします
If($start>$stop){
$a = date('Y-m-d',strtotime($a.'-1 month'));
$m =11;
                                                                                    }
$extend = ($stop-strtotime($a))/86400;
}
if(isset($m)){
$w = Floor($extend/7);
$d = $extend-$w*7;
}その他{
$m = isset($m)?$m:round($extend/30);
$stop>=strtotime($a.'+'.$m.'month')?$m:$m--;
If($stop>=strtotime($a.'+'.$m.'month')){
$d=$w=($stop-strtotime($a.'+'.$m.'month'))/86400;
$w = フロア($w/7);
$d = $d-$w*7;
}
}
$result['年'] = $y;
$result['monthly'] = $m;
$result['weekly'] = $w;
$result['daily'] = isset($d)?$d:null;
}
return array_filter($result);
}

Print_r(format('2012-10-1','2012-12-15'));
?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631513.html技術記事この記事では、PHP で 2 つの日付の間の日数を計算する例を詳しく紹介します。通常、strtotime で日付を変換して計算します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。