2017-07-16 126 views
1

我有这个UTC日期2017-07-16 12:00:07.8 UTC(即调用$dateconvert),我想将其转换为秒。 我试图使用strtotime(),但它在UTC时间内返回秒数,再移除两个小时,我不明白为什么。PHP:将UTC日期转换为秒 - 不适用于strtotime()

我在意大利,在这里日期为UTC + 2,也许strtotime()意大利时区读$dateconvert当它转化为秒,除去2个小时? 这可能吗?

$anno_emsc= 2017; 
$mese_emsc= 7; 
$giorno_emsc= 16; 
$ora_emsc= 12; 
$minuto_emsc= 0; 
$secondo_emsc= 7; 


$dataconvert= strtotime($anno_emsc.'-'.$mese_emsc.'-'.$giorno_emsc.' '.$ora_emsc.':'.$minuto_emsc.':'.$secondo_emsc)+0; 

输出

1500199207 // strtotime removed 2 hours 
+1

如果你把所有的部分放在单独的变量中,为什么不使用['gmmktime()'](http://php.net/manual/en/function.gmmktime.php)将它们转换成时间戳? – rickdenhaan

+0

@ rickdenhaan与gmmktime()的作品!如果你写一个答案,我会接受它;) – Borja

回答

1

既然您已经知道所有的部分,您可以使用gmmktime()将其转换为时间戳。 mktime()的“gm”版本知道它正在接收GMT/UTC日期,并会相应地处理它。

0

尝试和设置您的date_default_timezone_set()您正确的时区,并看看是否能解决您的问题。有时候你的php实例会默认错误的时区。