我有几个约会,一些过去,一些未来,我想只显示此列表未来的下一个日期。如果将来没有日期,我想回复一些文字。
我在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")
个值?如何检测其行(用于将其他子字段添加到同一行)?
答案 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);