在PHP中具有一年中的同一个月时的加入日期

在PHP中具有一年中的同一个月时的加入日期,php,date,Php,Date,如果日期具有相同的月份和年份,并且2015-03-13-2015-03-15类似于此日期2015年3月13-15日,或者当日期具有不同的月份时,它将生成类似于2015年3月13日-4月15日的格式,这是解决方案 function get_custom_date($date1,$date2){ $d1_month = date("F", strtotime($date1)); $d2_month = date("F", strtotime($date2));

如果日期具有相同的月份和年份,并且
2015-03-13-2015-03-15
类似于此日期
2015年3月13-15日
,或者当日期具有不同的月份时,它将生成类似于
2015年3月13日-4月15日
的格式,这是解决方案

 function get_custom_date($date1,$date2){
        $d1_month = date("F", strtotime($date1));   
        $d2_month = date("F", strtotime($date2));

        $d1_date = date("d", strtotime($date1));    
        $d2_date = date("d", strtotime($date2));

        $d1_year = date("Y", strtotime($date1));    
        $d2_year = date("Y", strtotime($date2));

        if($d1_year == $d2_year){
            if($d1_month == $d2_month){
                $new_date_format = date("F Y",strtotime($date1));
                return $d1_date.'-'.$d2_date.' '.$new_date_format;
            }else{
                $current_year = date("Y", strtotime($date1));
                return  $d1_date.' '.$d1_month.' - '.$d2_date.' '.$d2_month.' '.$current_year;
            }
        }else{

            return  $d1_date.' '.$d1_month.' '.$d1_year.' - '.$d2_date.' '.$d2_month.' '.$d2_year;  
        }   

    }

    $my_date_format = get_custom_date('2015-03-13','2015-04-15');
    echo $my_date_format;
注意:假设您的第一个日期总是小于第二个日期。

解决方案由OP提供

函数自定义日期格式($date\u a,$date\u b){
$start\u date=strottime($date\u a);
$end_date=strottime($date_b);
如果($end_date!=''){
$year1=日期($Y',$start\u日期);
$year2=日期('Y',$end_日期);
$month1=日期('m',$start\u日期);
$month2=日期('m',$end_日期);
如果($start_date<$end_date){
如果($year1!=$year2){
$holiday_date=日期($fj,Y',$start_date)。'to'。日期($fj,Y',$end_date);
}  
否则{
如果($month1!=$month2){
$holiday_date=日期($j F',$start_date)。'-'.date($j F',$end_date)。'.date($Y',$end_date);
}  
否则{
$holiday_date=日期($j',$start_date)。'-'.date($j',$end_date)。'.date($F',$end_date)。'.date($Y',$end_date);
}  
}  
}  
否则{
$holiday_date='无效的日期范围';
}  
}  
否则{
$holiday\u date=日期('F j,Y',$start\u date);
}    
返回$holiday_date;
}

您需要提供更多的上下文。这只是为了向用户显示吗?这是用户以这种格式提供的解析信息吗?这是可能的,您需要创建自定义函数,没有日期函数。这会直接告诉我们您尝试了什么吗???
    function custom_date_format($date_a, $date_b){
    $start_date = strtotime($date_a);  
    $end_date = strtotime($date_b);

    if ($end_date != '') {  
        $year1 = date('Y', $start_date);  
        $year2 = date('Y', $end_date);  
        $month1 = date('m', $start_date);  
        $month2 = date('m', $end_date);     

        if ($start_date < $end_date) {  
            if ($year1 != $year2) {  
                $holiday_date = date('F j, Y', $start_date) . ' to ' . date('F j, Y', $end_date);  
            }  
            else {  
                if ($month1 != $month2) {  
                          $holiday_date = date('j F', $start_date) . ' - ' . date('j F', $end_date) . ' '. date('Y', $end_date);  
                }  
                else {  
                          $holiday_date = date('j', $start_date) . ' - ' . date('j', $end_date) . ' '.date('F', $end_date).' '. date('Y', $end_date);  
                }  
            }  
        }  
        else {  
                $holiday_date = 'Invalid date range.';  
        }  
    }  
    else {  
            $holiday_date = date('F j, Y', $start_date);  
    }    
    return $holiday_date;
}