Adding a number to a date

时间:2016-11-28 作者:MWA

我承认。。。我的php技能很差。

我试图在事件类别的帖子中显示事件持续时间。示例:10月11日至14日,但我在向日期添加整数,然后以正确格式打印时遇到问题。请参阅下面的我的代码:

<span class="news-item-date-day">
  <?php the_time(\'M j\');

    $event_length = get_post_meta
    ($post->ID, \'event_length\', $single = true);

    if($event_length !== \'\') {
      echo \'-\' . (intval(the_time(\'j\')) + intval($event_length)); 
    } 

  ?>
</span>
\\u时间是10月11日。$event\\u长度为3。但上述代码打印的是10月1111-3日,而不是10月11-14日。

提前感谢您的帮助。

1 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

你需要get_the_time, 不the_time 获取日期(后者返回值)。你还需要重新评估你是如何计算结束日期的——你不能只是“加上”天数。如果活动长度为3,但开始日期为31,该怎么办?

if ( $event_length ) {
    // Get the unix timestamp of the post
    $post_time = get_the_time( \'U\' );

    // Increase the timestamp by the event length
    $end_time = $post_time + $event_length * DAY_IN_SECONDS;

    // Conditional date format depending on if the event ends in the same month
    if ( date( \'m\', $post_time ) !== date( \'m\', $end_time ) )
        echo date_i18n( \' - M j\', $end_time );
    else
        echo date_i18n( \' - j\', $end_time );
}

相关推荐

显示作者姓名PHP(自制插件)

我有一个需要帮助的问题,因为我自己找不到解决办法。我接管了一个网站,之前有人在那里创建了一个自制插件。。使用默认插件“Contact Form 7”,用户可以在页面上创建帖子。()https://gyazo.com/c8b20adecacd90fb9bfe72ad2138a980 )关于自行创建的插件“Contact Form 7 extender”,帖子是通过PHP代码在后台生成的(https://gyazo.com/115a6c7c9afafd2970b66fd421ca76a3)其工作原理如下:如果