Превратить объект php в формат даты - PullRequest
0 голосов
/ 26 мая 2018

Я получаю дату рождения от моих пользователей из формы с выпадающим списком для месяца, дня и года.Плагин, который я использую для этого (Pie Register), сохраняет это значение как объект (я полагаю) в моей базе данных, которая выглядит примерно так:

a: 1: {s: 4: "date"; а: 3: {s: 2: "мм"; s: 2: " 01 "; s: 2: "дд"; s: 2: " 23 * 1 006 *";s: 2: "yy"; s: 4: " 1965 ";}}

Я попробовал следующее:

<?php
    $mydata = serialize(get_user_meta($uid, 'pie_date_4', true));
        echo    $mydata[53], $mydata[54],"/",
                $mydata[35], $mydata[36],"/",
                $mydata[71], $mydata[72], $mydata[73], $mydata[74];
?>

Это дает мне дату какЯ хочу это: 23/01/1965

Это явно не правильный способ сделать это ... Так как я не могу действительно исправить процесс сохранения от поля выбора добаза данных мой вопрос: Как я могу получить дату, называя только те строки, которые мне нужны?

1 Ответ

0 голосов
/ 26 мая 2018

Вы ошиблись, ваши данные уже сериализованы, вам нужно использовать:

$value = get_user_meta($uid, 'pie_date_4', true);

// unserialize value, and get array from date index
$unserialize = unserialize($value);
$unserialize = $unserialize['date'];

// create date object
$date = new DateTime($unserialize['yy'] .'-'. $unserialize['mm'] .'-'. $unserialize['dd']);

// format date
echo $date->format('d/m/Y');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...