Php 日期函数显示今天';s日期而不是提供的日期
我想在Wordpress中用自定义代码片段显示从开始日期到结束日期的一系列日期,以列出我们网站上的事件。有两个与此问题相关的自定义字段:Php 日期函数显示今天';s日期而不是提供的日期,php,wordpress,Php,Wordpress,我想在Wordpress中用自定义代码片段显示从开始日期到结束日期的一系列日期,以列出我们网站上的事件。有两个与此问题相关的自定义字段: 事件日期:显示事件的开始日期(使用日期选择器) 事件\日期\结束:显示事件的结束日期(使用日期选择器,仅当事件超过一天时使用) 我正在使用下面的代码,看起来很正确,但由于某种原因,第二个日期被设置为今天的日期,而不是事件日期结束字段中的日期。如果我只显示事件日期结束(例如echo get_字段(“事件日期结束”),则会显示正确的日期,但由于某种原因尝试更改
- 事件日期:显示事件的开始日期(使用日期选择器)
- 事件\日期\结束:显示事件的结束日期(使用日期选择器,仅当事件超过一天时使用)
$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"
如果您以分隔符
/
传递日期,则它将采用美国日期格式
日期选择器中的日期为逻辑格式。因此,您必须将/
更改为-
,然后strotime()
才能正确使用此格式
$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;
谢谢你的快速回复。多亏了你提出的问题,我现在找到了答案。事件\日期\结束以与其他字段不同的顺序保存日期。不确定这有什么关系,但可能它的保存方式与我使用的函数不兼容 获取字段(“事件日期”)返回“20200825” 获取字段(“事件日期结束”)返回“2020年8月27日”
我可以在我用来创建这些字段的自定义字段插件中对此进行更改,现在它可以工作了。那么,日期选择器日期的格式是什么呢?你能告诉我们什么是
get_字段(“event_date”)
和get_字段(“event_date_end”)
return吗?你知道你可以做date_i18n(“dm”),strottime(get_field)('event_date'))
并一次完成日期和月份?不确定如果我提供完整的代码片段是否更好,但我相信这就是您要求的:$d=date(“Y-m-d”);$new_query=new WP_query(数组('post_type'=>'event','tax_query'=>数组(数组('taxonomy'=>'events'、'field'=>'slug'、'terms'=>array('featured_event'))、'meta_query'=>array(array('key'=>'event_date'、'value'=>$d'、'type'=>'date'、'compare'=>'=>'>'>'slug')、'meta_key'=>事件日期'、'orderby'=>'meta_值'、'orderby'=>'ASC'、'posts'=>4));Simon,请始终在问题中发布附加信息,特别是如果其代码,没有人可以在注释中阅读代码