所以我从mysql数据库中提取了一个时间戳,我想知道为什么所有的时间检查都不起作用。
echo "The time is " . date("Y-m-d h:i:s");
echo "</br>";
echo "Mysql Timestamp " . $row["Uptime"];
echo "</br>";
echo "Mysql Timestamp as strtotime" .strtotime($row["Uptime"]);
echo "</br>";
echo "strtotime Current Time". strtotime("now");
echo "</br>";
输出:
The time is 2018-08-18 12:42:55
Mysql Timestamp 2018-08-18 12:42:52
Mysql Timestamp as strtotime1534596172
strtotime Current Time1534552975
转换为字符串后,数字之间大约有4000个差异。怎么回事?我怎么能不做就解决这个问题 x-4000
?
1条答案
按热度按时间j0pj023g1#
这种差异是由于您当地的时区。
date()
使用本地时区计算时间,而strtotime("now")
以及time()
使用utc时间。比较:输出(时区)
Australia\Adelaide
):现在尝试将时区设置为
UTC
:输出-如您所见,所有窗体都返回相同的值: