为什么strtotime会自动减去2小时


Why strtotime subtracts 2 hours automatically?

我使用了strtotime("YYYY-MM-DD H:i:s"),这给了我2小时的时间自动减去。

例如:strtotime("2016-05-11 00:00")给了我int(1462917600),这是我输入的负2小时。

即:当我重新转换时为2016-05-10 22:00。为什么会这样?

来自文档:

此函数的每个参数都使用默认时区,除非在该参数中指定了时区。

因此,我的猜测是,您所在的时区2016-05-11 00:00:00当地时间为2016-05-10 22:00:00 UTC。

整数结果将始终以"自Unix epoch以来的秒数"为单位,该值唯一标识一个时间瞬间。要将转换为,或将转换,您应该考虑要使用的时区。