我正在尝试使用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
答案 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