2016-03-03 5 views
0

Я использую некоторые пользовательские поля в WordPress, и у меня есть настраиваемое поле с именем date-of-event, которое может использоваться как средство выбора даты из фонового интерфейса, которое идеально подходит для моего клиента.Преобразование однострочной даты и времени в читаемый формат PHP

Клиент выбирает дату в заднем конце:

Selecting a date

я получаю значение с помощью:

$date = <?php get_post_meta(get_the_ID(), 'wpcf-date-of-event', true); ?>

Однако дата возвращается в виде одной строки.

1455100200

Как я могу преобразовать эту единственную строку данных в машиночитаемом дату и время?

Я искал http://php.net/manual/en/datetime.createfromformat.php, но я не уверен, какой формат возвращается в первую очередь?

+0

Вы можете использовать функцию даты http://php.net/manual/en/function.date.php, например, 'date ('Y-m-d', 1455100200)' – Naumov

ответ

2

Это Отметка времени Unix, так что вы можете получить данные, выполнив следующие действия:

$d = DateTime::createFromFormat('U', '1455100200');

Так просто заменить номер с вашей переменной $date

Затем вы можете манипулировать объектом DateTime, как и вы как для хранения Вы, вероятно, хотите следующий формат:

$d->format('Y-m-d H:i:s');

Пример вывода, если вы должны были напечатать это:

2016-02-10 10:30:00

Надеюсь, что это поможет.

+0

А вы хороший яичный голубь! Отметьте как можно точнее через 3 минуты. Спасибо, я задал вопрос и многому научился =] – WebDevDanno

+0

@WebDevDanno Glad Я мог бы помочь, просто для справки в будущем вы можете найти полный список форматов [здесь] (http://php.net/manual/en/function. date.php), все они могут использоваться с методом '-> format()' для объекта DateTime. Это дает вам много свободы для манипулирования датами. ^^ – Mikey

0

Это Отметка времени Unix: 1455100200 = Ср, 10 февраля 2016 10:30:00 GMT

0

Однолинейный вы имеете в виду то, что известно как метку времени Unix. Это число секунд с 01 января 1970 года. (UTC).

Для того, чтобы использовать его можно сделать следующее:

$timestamp = get_post_meta(get_the_ID(), 'wpcf-date-of-event', true); 
$date = new DateTime(); 
$date->setTimestamp($timestamp); 
echo $date->format('Y-m-d H:i:s'); 
Смежные вопросы