我有一个这样的变量:
$event_start_date_hour_ISO = str_replace(':',', ',$event_start_hour).', 0, '.date('d, m, Y', $event_start_day);
echo
的{{1}}结果为$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
除外,我的UTC + 2。
我做错了什么?如何从变量中提取数据并得到正确答案?
答案 0 :(得分:0)
我真的不太明白你的问题。但我认为你已经在mktime函数中反转了月和日。
mktime(Hour, minute , second, month, day, year);
答案 1 :(得分: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
可能也很有用。