我正在尝试在自定义代码段中显示 WordPress 中从开始日期到结束日期的日期范围,以列出我们网站上的事件。有两个与此问题相关的自定义字段:event_date:显示事件的开始日期(使用日期选择器)event_date_end:显示事件的结束日期(使用日期选择器,仅当事件超过一天时使用)我正在使用下面的代码,它对我来说看起来很正确,但由于某种原因,第二个日期设置为今天的日期,而不是 event_date_end 字段中的日期。如果我仅显示 event_date_end (例如 echo get_field('event_date_end') ),则会显示正确的日期,但当尝试更改其显示方式时,由于某种原因,日期会发生变化。知道什么可能导致这种情况吗?整个事情是一个较长片段的一部分,所以也许错误超出了这个范围,但我有一种感觉,我没有正确使用 i18n。$eventduration = date_i18n("d", strtotime(get_field('event_date')))."".date_i18n("M", strtotime(get_field('event_date')))." -".date_i18n("d", strtotime(get_field('event_date_end')))."".date_i18n("M", strtotime(get_field('event_date_end')))."; echo $eventduration;#Should display something like "25 Aug - 28 Aug" but instead shows "25 Aug - 18 Aug"
2 回答
PIPIONE
TA贡献1829条经验 获得超9个赞
如果您传递一个日期作为/分隔符,strtotime()它将采用美国日期格式。
日期选择器中的日期采用逻辑格式。因此,您必须将 更改/为 a -,然后strtotime()才能正常使用此格式
$ede = str_replace('/', '-', get_field('event_date_end'));
$eventduration = date_i18n("d M", strtotime(get_field('event_date')))
." - ".
date_i18n("d M", strtotime($ede));
echo $eventduration;
精慕HU
TA贡献1845条经验 获得超8个赞
event_date_end 以与其他字段不同的顺序保存日期。不知道为什么这很重要,但也许它的保存方式与我正在使用的功能不兼容。
get_field('event_date') 返回“20200825” get_field('event_date_end') 返回“27/08/2020”
我可以在用于创建这些字段的自定义字段插件中更改此设置,现在它可以工作了。
- 2 回答
- 0 关注
- 116 浏览
添加回答
举报
0/150
提交
取消