好的。所以我一直在尝试实现一个计时器。现在,一件非常奇怪的事情正在发生,我不明白为什么?
基本上,我试图找出最后一次访问和当前时间之间的差异。我将最后一次访问的时间存储在数据库中。该值取决于服务器时间。但是当我尝试php的time()函数时,它显示的值比数据库中的时间晚了5-6个小时。
例如:以下是我的代码:
$t1= strtotime($played_row->timer); // Time from the database with CURRENT_TIMESTAMP
$t2= strtotime("now"); // Get the current time对于t2,显示年份: 2012月: 01日: 21 - 05:28 pm
和年份: 2012月: 01日: 21 - 10:28 pm作为我的时间戳值。
有人能告诉我这是为什么吗?
附言:我在我的电脑上运行代码。
发布于 2012-01-22 01:31:24
这很可能是一个时区问题:如果你在东部时区,你现在离UTC有5个小时的路程。如果一个系统返回本地时间,另一个系统返回UTC,这就是您将看到的。
发布于 2012-01-22 01:30:44
根据猜测,我会说您的数据库和PHP正在使用两个不同的时区偏移。
发布于 2012-01-22 01:32:08
尝试使用date_default_timezone_set()来设置数据库中使用的时区。
date_default_timezone_set -设置脚本中所有日期/时间函数使用的默认时区
另请参阅date_default_timezone_get() how to get ini-set timezone。
https://stackoverflow.com/questions/8955038
复制相似问题