Hi
Is it at all possible to grab either the date and/or the time from the Date & Time Picker field?
I need this for two reasons:
1) To echo one or either (date or time) on different page templates
2) To run a custom WP_Query, and list custom posts by date and then time.
Many thanks
Hi @huwrowlands
The best way to get only the date or the time is by converting the value to a date object like this:
$date = get_field('date_time_picker', 85, false);
$date = DateTime::createFromFormat('Y-m-d H:i:s', $date);
echo $date->format('Y-m-d');
echo "\n";
echo $date->format('H:i:s');
Please check this page to see the available format: http://php.net/manual/en/function.date.php.
I’m afraid you need to query it as whole date and time. If you need to query it separately, you need to create separate fields for the date and the time.
I hope this makes sense 🙂
@james
I think I’ve got a solution and will post my findings here if I do!
Two fields: Date (datepicker) and start time (time picker). Sort by date and then orderby date and time.
Thanks for the help.
I managed to solve my problem using the answer here:
https://support.advancedcustomfields.com/forums/topic/query-date-picker-by-date-then-time/
$args = array(
'post_type' => 'schedule',
'posts_per_page' => '-1',
'meta_query' => array(
'relation' => 'AND',
'date_clause' => array(
'key' => 'schedule_time_slot_%_schedule_show_date',
'compare' => '=',
'value' => $tue,
),
'time_clause' => array(
'key' => 'schedule_time_slot_%_schedule_show_start_time',
'compare' => 'EXISTS',
),
),
'orderby' => array(
'date_clause' => 'ASC',
'time_clause' => 'ASC',
)
);