DateTime(get_field('event_date'))

时间:2019-12-24 20:46:32

标签: php wordpress

我正在尝试使用DateTime函数,以便能够将日期从实际格式转换为仅一个月,如下所述;

尝试解析如下所示的日期时间时出现错误;

代码

$eventDate = new DateTime(get_field('event_date'));

echo $eventDate->format('M')

错误

  

“致命错误:未捕获的异常:

     

datetime :: + construct(:无法解析时间字符串(29/06/2017)   位置

     

0(02):/home/xxxxx/front-page.php第33行中的意外字符”

如果我将 get_field 替换为 the_field ,它将返回日期格式29/06/2017

3 个答案:

答案 0 :(得分:0)

尝试一下:

$event_date = get_field('event_date');
$event_date = date(‘Y-m-d’, strtotime($event_date));

$eventDate = new DateTime($event_date);

echo $eventDate->format('M')

答案 1 :(得分:0)

从ACF有关使用日期字段的信息... ACF Date Output和此处ACF Date Picker

高级自定义字段将日期存储在“ Ymd”中

  

返回格式加载值时返回的日期格式。   请注意,该值始终保存为Ymd(YYYYMMDD)。   数据库

<?php 

/*
*  Create PHP DateTime object from Date Piker Value
*  this example expects the value to be saved in the format: yymmdd (JS) = Ymd (PHP)
*/

$format_in = 'Ymd'; // the format your value is saved in (set in the field options)
$format_out = 'M'; // the format you want to end up with

$date = DateTime::createFromFormat($format_in, get_field('date_picker'));

echo $date->format( $format_out );

?>

答案 2 :(得分:0)

谢谢大家的贡献。

最终,我正在使用的Advance自定义字段插件被设置为其他日期格式,而我需要以'Ymd'返回日期。因此,我要做的就是在自定义字段中调整日期格式。enter image description here