JSON Array to PHP DateTime

12,032

Solution 1

I assume that echo "<pre/>";print_r($content); is given data like below:-

Array
(
    [date] => 2017-02-15 15:20:14
)

So do like below:-

echo date ('Y-m-d H:i:s',strtotime($content['date'])); // normal date conversion

echo PHP_EOL;

$dateTime = new DateTime($content['date']); // datetime object

echo $dateTime->format('y-m-d H:i:s');

Output:-https://eval.in/738434

Solution 2

The date you're getting from JSON is coming in as a string, so you'll need to build a DateTime object from that string. As long as the string is in a format recognised by PHP's date and time formats (http://php.net/manual/en/datetime.formats.php) you can do it very simply as follows:

$date = new DateTime($content['date']);
Share:
12,032
Kevin Liss
Author by

Kevin Liss

Updated on June 04, 2022

Comments

  • Kevin Liss
    Kevin Liss almost 2 years

    How do I get PHP Date Time from a JSON?

    $params = array();
     $content = json_decode($request->getContent(), true);
     if(empty($content))
    {
       throw $this->createNotFoundException('JSON not send!')
    }
    

    $content['date'] need to be smomething like $date = new DateTime();

    JSON looks like :

    {
        "date" : "2017-02-15 15:20:14"
    }
    
  • LBA
    LBA about 7 years
    important to know: if $content['date'] is null for any reason or not in a correct format, DateTime() will most probably provide you with an unexpected date (e.g. for null it's now).