这有效...
function humanDateRanges($start, $end){
$startTime=strtotime($start);
$endTime=strtotime($end);
if(date('Y',$startTime)!=date('Y',$endTime)){
echo date('F j, Y',$startTime) . " to " . date('F j, Y',$endTime);
}else{
if((date('j',$startTime)==1)&&(date('j',$endTime)==date('t',$endTime))){
echo date('F',$startTime) . " to " . date('F, Y',$endTime);
}else{
if(date('m',$startTime)!=date('m',$endTime)){
echo date('F j',$startTime) . " to " . date('F j, Y',$endTime);
}else{
echo date('F j',$startTime) . " to " . date('j, Y',$endTime);
}
}
}
}
humanDateRanges("2015-04-20", "2015-04-22");
//April 20 to 22, 2015
humanDateRanges("2015-04-01", "2015-05-31");
//April to May, 2015
humanDateRanges("2015-04-30", "2015-05-02");
//April 30 to May 2, 2015
humanDateRanges("2014-05-02", "2015-05-02");
//May 2, 2014 to May 2, 2015
但我确实认为在某些情况下,即使是人类也需要被告知 4 月至 5 月将从 1 号开始,到 31 号结束。