加入日期是在 PHP 一年中的同月
join date when have same month an year in PHP
当日期具有相同的月份和年份时,我们如何在 php 中加入日期,并且 2015-03-13 - 2015-03-15
像这样 13-15 March 2015
,或者当它们具有不同的月份时,它将使格式像 13 March - 15 April 2015
这是解决方案
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 的解决方案。
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;
}
当日期具有相同的月份和年份时,我们如何在 php 中加入日期,并且 2015-03-13 - 2015-03-15
像这样 13-15 March 2015
,或者当它们具有不同的月份时,它将使格式像 13 March - 15 April 2015
这是解决方案
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 的解决方案。
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;
}