仅获取多个日期的下一个日期

时间:2015-12-18 08:14:28

标签: php wordpress date advanced-custom-fields

我有几个约会,一些过去,一些未来,我想只显示此列表未来的下一个日期。如果将来没有日期,我想回复一些文字。

我在ACF Date Picker内使用Repeater。首先,我想我必须得到当前日期,与其他日期进行比较:

date_default_timezone_set('Europe/Berlin');
$date = date('Ymd', time());

我选择了Ymd格式,因为转发器以完全相同的方式输出日期。现在我需要检查转发器内的所有子字段。我想这是用某种方式完成的

$rows = get_field('repeater_field_name');
if($rows) {
  foreach($rows as $row) {
     // compare the dates, choose only the next coming date
     // dates are stored in the_sub_field('repeater_date_field');
  }
}

如何获取the_sub_field('repeater_date_field')get_field('repeater_field_name')join r0w2 in curdt.AsEnumerable() on r0w1.Field<string>("B") equals r0w2.Field<string>("cr_B") 个值?如何检测其行(用于将其他子字段添加到同一行)?

2 个答案:

答案 0 :(得分:4)

您可以将所有日期存储在数组中。然后按升序排序。然后从列表中取出比今天更大的第一个日期。

请查看下面的代码。

sqllocaldb.exe stop v11.0 (or 12.0?) 
sqllocaldb.exe delete v11.0

答案 1 :(得分:0)

您可以比较2个日期来解决此问题。例如

$date_bef = strtotime("151218"); // December 18, 2015
$date_after = strtotime("151219"); // December 19, 2015
if($date_after - $date_bef == 1)
echo "This is a next day";

如果您不想进行比较,可以将现有时间加1天,例如

$next_day = date("Ymd",strtotime("151220") + 60*60*24);