计算php两个日期之间相隔几个月零几天 几周 几个星期

上代码


													<?php
														function getMonthNum( $start_time, $end_time){
														        $date1 = explode('-',$start_time);
														        $date2 = explode('-',$end_time);
														        if($date1[0] == $date2[0]){ //同年
														            if($date1[1] == $date2[1]){ //同月
														                $month = 0;
														                $day = $date2[2]-$date1[2];
														            }else{
														                //不同月
														                $month = $date2[1]-$date1[1];
														                if($date1[2]>$date2[2]){
														                    //开始天大于结束天:计算天数,月份减一
														                    $day = date('t',strtotime($start_time))-($date1[2]-$date2[2]);
														                    $month-=1;
														                }else{
														                    //结束天大于开始天
														                    $day = $date2[2]-$date1[2];
														                }
														            }
														        }else{
														            $month = 12;
														            //不同年
														            if($date1[1] == $date2[1]){ //同月
														                if($date1[2]>$date2[2]){
														                    //开始天大于结束天:计算天数,月份减一
														                    $day = date('t',strtotime($start_time))-($date1[2]-$date2[2]);
														                    $month-=1;
														                }else{
														                    //结束天大于开始天
														                    $day = $date2[2]-$date1[2];
														                }
														            }else{
														                //不同月
														                if($date1[1]>$date2[1]){
														                    //开始月大于结束月
														                    $month -= $date1[1]-$date2[1];
														                    if($date1[2]>$date2[2]){
														                        //开始天大于结束天:计算天数,月份减一
														                        $day = date('t',strtotime($start_time))-($date1[2]-$date2[2]);
														                        $month-=1;
														                    }else{
														                        //结束天大于开始天
														                        $day = $date2[2]-$date1[2];
														                    }
														                }else{
														                    //结束月大于开始月
														                    $month += $date2[1]-$date1[1];
														                    if($date1[2]>$date2[2]){
														                        //开始天大于结束天:计算天数,月份减一
														                        $day = date('t',strtotime($start_time))-($date1[2]-$date2[2]);
														                        $month-=1;
														                    }else{
														                        //结束天大于开始天
														                        $day = $date2[2]-$date1[2];
														                    }
														                }
														            }
														        }
														        return [
														            'start_time'=>$start_time,
														            'end_time'=>$end_time,
														            'month'=>$month,
														            'day'=>$day,
														        ];
														    }echo getMonthNum('2022-02-04','2023-03-05');$gm =  getMonthNum('2022-01-11','2022-11-17');PHP获取月份日期差计算
														$sd = '2022-01-11';指定日期加多少天,指定日期写在strtotime第二个参数里面,默认是当天
														$ed = date("Y-m-d", strtotime("+281 day", strtotime($sd)));
														$jkd = date("Y年m月d号", strtotime("+84 day", strtotime($sd)));$gm =  getMonthNum('2022-01-11', date("Y-m-d"));
														$gm =  getMonthNum($sd, date("Y-m-d"));$gmy =  getMonthNum(date("Y-m-d"), '2023-04-22');
														$gmy =  getMonthNum(date("Y-m-d"), "2023-01-23");
														$gd = date_diff(date_create("2022-01-11"), date_create(date("Y-m-d")))->format('%a');
														$gdy = date_diff(date_create(date("Y-m-d")), date_create("2023-01-23"))->format('%a') - 2;$gd = date_diff(date_create("2022-01-11"), date_create(date("Y-m-d")))->format('%a');$gdy = date_diff(date_create(date("Y-m-d")), date_create("2023-01-23"))->format('%a');$gw = floor(($gd - 1)/7) ;$gt = ($gd - 1) % 7;
														$gw = floor($gd/7) ;
														$gt = $gd % 7;
														if($gt == 0){
															if($gw > 0 & $gw > 0){
																$gt = 7;
																$gw = $gw - 1;
															}
														};
														$gjd = round($gd / 280 * 100, 2);$gwy = floor(($gdy - 1)/7);$gt = (($gd - 1) % 7) + 1;$gty =( ($gdy-1)%7) + 1;echo $gd;$gd =echo date("Y-m-d");echo "<br>";echo date("Y-M-D");echo "<br>";echo $gm["month"];echo "<br>";echo $gm["day"];echo $gm[0];echo $gm[1];echo $gm[2];echo $gm[3];
													?>
													<?php
														echo '<p>&nbsp;<p><h3 style="text-align:center">站长怀孕了<br>看见的人好运连连!</h3><p>';echo '今天是'.date("Y年m月d号").',这是第'; echo $weeks.'周第'.$wdays.'天;<br/>';echo '起算时间:2022年07月15号';
														echo '起算时间:'.date("Y年m月d号", strtotime($sd));
														echo '</br>';
														echo '今天日期:'.date("Y年m月d号");
														echo '</br>';echo '产检建卡日2022年10月7号, &nbsp; 已怀孕'.$days.'天;<br/>';echo '产检建卡:2022年10月07号<br/>';
														echo '产检建卡:'.$jkd.'<br/>';echo '预产日期:'.$yuchandate;先用strtotime转化为日期对象再格式化
														echo '预产日期:'.date("Y年m月d号", strtotime($ed));
														echo '</br>';echo '距离预产期'.$daysleft.'天';
														echo '距离预产期'.$gdy.'天';echo '约'.$yuchandate_floor_30.'个月';echo $yuchandate_floor_30_left.'天';
														echo '约'.$gmy["month"].'个月'. $gmy["day"].'天';
														echo '</br>';
														echo '怀孕进度:'.$gjd."%";
														echo '</br>';echo '<span style="font-weight:bold; font-size:0.9em;">已经怀孕'.$days.'天;</br>约'.$gm["month"].'个月加'. $gm["day"].'天;</br>第'.$weeks.'周第'.$wdays.'天;</span><br/>';
														echo '<span style="font-weight:bold; font-size:0.9em;">已经怀孕'.$gd.'天;</br>约'.$gm["month"].'个月加'. $gm["day"].'天;</br>第'.$gw.'周+'.$gt.'天;</span><br/>';
														echo '<span style="font-weight:bold; font-size:0.9em;">医院B超测试是第'.($gw-1).'周+'.$gt.'天;</span><br/>';echo "<span style="font-size: 0.7em;">周+</span><span style="font-size: 0.7em;">天</span>"
													?>
													<script type="text/javascript">
														$(window).ready(function() {
															var day_count = <?php echo '"'.$gw.'"+'; ?> "<coolangcount style='font-size: 0.7em;'>周+</coolangcount>" + <?php echo '"'.$gt.'"+'; ?>   "<coolangcount style='font-size: 0.7em;'>天</count>";
															$("#day_count").html(day_count);
														})
													</script>
												</div>

您可能还喜欢...

发表回复