Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 日期函数显示今天';s日期而不是提供的日期_Php_Wordpress - Fatal编程技术网

Php 日期函数显示今天';s日期而不是提供的日期

Php 日期函数显示今天';s日期而不是提供的日期,php,wordpress,Php,Wordpress,我想在Wordpress中用自定义代码片段显示从开始日期到结束日期的一系列日期,以列出我们网站上的事件。有两个与此问题相关的自定义字段: 事件日期:显示事件的开始日期(使用日期选择器) 事件\日期\结束:显示事件的结束日期(使用日期选择器,仅当事件超过一天时使用) 我正在使用下面的代码,看起来很正确,但由于某种原因,第二个日期被设置为今天的日期,而不是事件日期结束字段中的日期。如果我只显示事件日期结束(例如echo get_字段(“事件日期结束”),则会显示正确的日期,但由于某种原因尝试更改

我想在Wordpress中用自定义代码片段显示从开始日期到结束日期的一系列日期,以列出我们网站上的事件。有两个与此问题相关的自定义字段:

  • 事件日期:显示事件的开始日期(使用日期选择器)
  • 事件\日期\结束:显示事件的结束日期(使用日期选择器,仅当事件超过一天时使用)
我正在使用下面的代码,看起来很正确,但由于某种原因,第二个日期被设置为今天的日期,而不是事件日期结束字段中的日期。如果我只显示事件日期结束(例如echo get_字段(“事件日期结束”),则会显示正确的日期,但由于某种原因尝试更改其显示方式时,日期会更改。你知道这是什么原因吗?整个过程都是较长代码片段的一部分,因此可能错误超出了此范围,但我感觉我没有正确使用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"

如果您以分隔符
/
传递日期,则它将采用美国日期格式

日期选择器中的日期为逻辑格式。因此,您必须将
/
更改为
-
,然后
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,请始终在问题中发布附加信息,特别是如果其代码,没有人可以在注释中阅读代码