Heim > Artikel > Backend-Entwicklung > So berechnen Sie die Differenz in Wochen zwischen zwei Daten in PHP
So berechnen Sie die Anzahl der Wochen zwischen zwei Daten in PHP: Erstellen Sie zunächst eine PHP-Beispieldatei und verwenden Sie dann „function format($a,$b){...}“ und andere Methoden, um die Anzahl der Wochen dazwischen zu berechnen zwei Daten, das ist Can.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
Wie berechnet PHP die Differenz in Wochen zwischen zwei Daten?
Verwenden Sie PHP, um die Anzahl der Jahre, Monate, Wochen und Tage zwischen zwei Daten zu berechnen:
Der Code lautet wie folgt:
<?php function format($a,$b){ //检查两个日期大小,默认前小后大,如果前大后小则交换位置以保证前小后大 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){ //如果小于7天直接返回天数 $result['daily'] = $extend; }elseif($extend<=31){ //小于28天则返回周数,由于闰年2月满足了 if($stop==strtotime($a.'+1 month')){ $result['monthly'] = 1; }else{ $w = floor($extend/7); $d = ($stop-strtotime($a.'+'.$w.' week'))/86400; $result['weekly'] = $w; $result['daily'] = $d; } }else{ $y= floor($extend/365); if($y>=1){ //如果超过一年 $start = strtotime($a.'+'.$y.'year'); $a = date('Y-m-d',$start); //判断是否真的已经有了一年了,如果没有的话就开减 if($start>$stop){ $a = date('Y-m-d',strtotime($a.'-1 month')); $m =11; $y--; } $extend = ($stop-strtotime($a))/86400; } if(isset($m)){ $w = floor($extend/7); $d = $extend-$w*7; }else{ $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 = floor($w/7); $d = $d-$w*7; } } $result['yearly'] = $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')); ?>
Laufergebnisse:
Array([extends]=>75[monthly]=>2[weekly]=>2)
php Fragen Sie die Anzahl der Wochen ab, in denen ein bestimmter Tag liegt und das Startdatum der entsprechenden Woche
Der Code lautet wie folgt:
/** * @file * @version 1.1 * @author QQ83989686 * @date 2012-8-7 最后修改时间 * @brief */ //获取某个日期的 周数、周对应的开始结束时间 private function getWeekStartEndDay($day) { $g = strftime("%u",strtotime($day)); return array('week_num'=>strftime("%V",strtotime($day)),'week_start_day'=>strftime('%Y-%m-%d',strtotime($day)-($g-1)*86400),'week_start_day_cn'=>strftime('%Y年%m月%d日',strtotime($day)-($g-1)*86400),'week_end_day'=>strftime('%Y-%m-%d',strtotime($day) + (7-$g)*86400),'week_end_day_cn'=>strftime('%Y年%m月%d日',strtotime($day) + (7-$g)*86400)); }
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonSo berechnen Sie die Differenz in Wochen zwischen zwei Daten in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!