PHP: How to split a datetime string into two new variables?

I have following Array:

object(stdClass)#3137 (10) {
    ["start"]=>
    string(25) "2019-10-18T18:02:00+02:00"
    ["end"]=>
    string(25) "2019-10-18T21:02:00+02:00"
}

how can I split "start" and "end" into two variables, first contains the date (as date, not string), second contains the time(as time not string) and insert in the same array?

Thanks vor any help.

Answer

Solution:

You can use the date() function with strtotime() like this

$oldArray = object(stdClass)#3137 (10) {
    ["start"]=>
    string(25) "2019-10-18T18:02:00+02:00"
    ["end"]=>
    string(25) "2019-10-18T21:02:00+02:00"
}

$newArray["startDate"] = date("Y-m-d", strtotime($oldArray["start"]);
$newArray["startTime"] = date("H-i-sO", strtotime($oldArray["start"]);

And repeat for end

See this link for more date & time options

Answer

Solution:

$startEndObject = //your object with start and end...

$array = [
  "start" => [
    "date" => $startEndObject->start,
    "time" => strtotime($startEndObject->start)
  ],
  "end" => [
    "date" => $startEndObject->end,
    "time" => strtotime($startEndObject->end)
  ],
]

So what you basically do with that is you create a array which has your start and end, but you add an array to start and end, which contains date as string, and time as an timestamp.

Source