PHP:将 UTC 日期转换为秒数 - 不适用于 strtotime()

PHP: convert UTC Date into seconds - not works with strtotime()

我有这个 UTC 日期 2017-07-16 12:00:07.8 UTC(调用 $dateconvert),我想将其转换为秒。 我尝试使用 strtotime(),但它在 UTC 中 returns 秒又删除了两个小时,我不明白为什么。

我在意大利,这里的日期是 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

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

既然你已经知道了所有的部分,你可以用gmmktime()把它转换成时间戳。 mktime() 的 "gm" 版本知道它正在接收 GMT/UTC 日期并将相应地处理它。