date — php mktime из переменной

У меня есть переменная, как это:

$event_start_date_hour_ISO = str_replace(':',', ',$event_start_hour).', 0, '.date('d, m, Y', $event_start_day);

echo Результат $event_start_date_hour_ISO является 11, 30, 0, 06, 02, 2016,
Если я сделаю следующее:

echo date(DATE_ATOM, mktime($event_start_date_hour_ISO))

Результат 2016-02-06T11:48:08+02:00,

Если я сделаю:

echo date(DATE_ATOM, mktime(11, 30, 0, 06, 02, 2016))

Результат, если правильный:

2016-06-02T11:30:00+03:00

Кроме +03:00Мой UTC + 2.

Что я делаю неправильно? Как поставить данные из переменной и получить правильный ответ?

0

Решение

Я не совсем понимаю вашу проблему. Но я думаю, что вы перевернули месяц и день в функции mktime.

mktime(Hour, minute , second, month, day, year);

ср: http://php.net/manual/en/function.mktime.php

0

Другие решения

Похоже, DateTime класс полезен здесь.

$event_start_day; // A timestamp
$event_start_hour; // A string in format... H:i:s.... 13:30:00
$event_arr = explode(':', $event_start_hour);
$event_date = new DateTime();
$event_date->setTimestamp($event_start_day);
$event_date->setTime(
$event_arr[0],
$event_arr[1],
$event_arr[2],
);
echo  $event_date->format('Y-m-d H:i:s');

Также может быть полезно взглянуть на DateTimeZone,

0

По вопросам рекламы [email protected]