Php 将日期格式更改为";d M-d M Y“;如果开始日期和结束日期包括两个月

Php 将日期格式更改为";d M-d M Y“;如果开始日期和结束日期包括两个月,php,html,wordpress,date,advanced-custom-fields,Php,Html,Wordpress,Date,Advanced Custom Fields,我正在使用ACF repeater字段输出WordPress站点中的日期 <h6 class="pegesus"><?php echo date("d", strtotime(get_sub_field('start_date'))).' - '.date("d M Y", strtotime(get_sub_field('end_date'))); ?></h6> 我得到的格式是“d-dmy”,这正是我所需要的 但是如果开始日期和结束日期在两个月内,例

我正在使用ACF repeater字段输出WordPress站点中的日期

<h6 class="pegesus"><?php echo date("d", strtotime(get_sub_field('start_date'))).' - '.date("d M Y", strtotime(get_sub_field('end_date'))); ?></h6>

我得到的格式是“
d-dmy
”,这正是我所需要的

但是如果开始日期和结束日期在两个月内,例如3月29日到4月5日,我想将格式更改为“
dm-dmy


如何实现这一点?

您可以借助
IF
和另一个日期格式来实现这一点。请按照以下代码:

<h6 class="pegesus">
<?php
if(date("m", strtotime(get_sub_field('start_date'))) != date("m", strtotime(get_sub_field('end_date'))))
{
    echo date("d M", strtotime(get_sub_field('start_date'))).' - '.date("d M Y", strtotime(get_sub_field('end_date')));
}
else
{
    echo date("d", strtotime(get_sub_field('start_date'))).' - '.date("d M Y", strtotime(get_sub_field('end_date')));
}
?>
</h6>

您可以借助
IF
和另一个日期格式来完成此操作。请按照以下代码:

<h6 class="pegesus">
<?php
if(date("m", strtotime(get_sub_field('start_date'))) != date("m", strtotime(get_sub_field('end_date'))))
{
    echo date("d M", strtotime(get_sub_field('start_date'))).' - '.date("d M Y", strtotime(get_sub_field('end_date')));
}
else
{
    echo date("d", strtotime(get_sub_field('start_date'))).' - '.date("d M Y", strtotime(get_sub_field('end_date')));
}
?>
</h6>


检查月份并使用另一个格式字符串。您能举个例子吗?我试着这么做,但无法检查月份并使用另一个格式字符串。你能举个例子吗?我试着去做,但是没有办法解决。。。你是一个救命恩人。@Damon如果答案对你和其他人都有帮助,请把它投上去。谢谢你的解决方案。。。“你是一个救命恩人。”达蒙,如果答案对你和其他人都有帮助,请把它投上一票。