如何在日期差异函数中使用变量?

时间:2017-08-12 21:13:59

标签: php wordpress advanced-custom-fields

我正在使用ACF字段允许客户端内容管理他们下一个事件的倒计时我在桌面版上使用JS翻转时钟,但由于它没有响应,我决定使用日期差异来回显只是移动的天数。

该网站目前正在theindustrialproject.co.uk

我目前的代码是:

<?php
    $date1 = date_create(date());
    $date2 = date_create(the_field('mobile_date'));
    $diff = date_diff($date1,$date2);

    $difference = $diff;

    if ($difference < 0) { $difference = 0; }
    echo '<span class="countdown-mobile">'. floor($difference/60/60/24)."</span><br />";
    if ($difference == 1) { echo "<p>Day</p>"; }
        else { echo "<p>Days</p>"; }
?>

但它总是返回0.作为参考,我从here

中提取了代码

1 个答案:

答案 0 :(得分:1)

不知道函数the_field('mobile_date')将返回什么(日期或时间戳?),您可能需要更改下面的特定行,但您应该能够使用DateTime对象并格式化差异像这样

$format='Y-m-d';
$timezone=new DateTimeZone('Europe/London');

/* We need 2 datetime objects - one for now the other for the future date */
$now=new DateTime( date( $format, strtotime('now') ), $timezone );
$target=new DateTime( the_field('mobile_date'), $timezone );

/* Format the difference in days */
$days = $now->diff( $target )->days;

echo "<span class='countdown-mobile'>{$days}</span><br />" . ( $days == 1 ? '<p>Day</p>' : '<p>Days</p>' );