行。所以我一直在尝试实现一个计时器。现在发生了一件非常奇怪的事情,我无法理解为什么?。
基本上我试图找出上次访问和当前时间之间的区别。我将上次访问的时间存储在数据库中。该值取决于服务器时间。但是当我尝试php的time()函数时,它显示的值比我在数据库中的时间晚了5-6个小时。
例如:这是我的代码:
$t1= strtotime($played_row->timer); // Time from the database with CURRENT_TIMESTAMP
$t2= strtotime("now"); // Get the current time
显示年份:2012月:01天:21 - 05:28 pm为t2
和年份:2012月:01天:21 - 10:28 pm我的时间戳值。
任何人都能说出我的原因吗?
P.S:我在计算机上运行代码。
答案 0 :(得分:4)
猜测我会说你的数据库和PHP正在使用两个不同的时区偏移。
答案 1 :(得分:2)
这很可能是时区问题:如果您在东部时区,那么您现在距离UTC还有5个小时的路程。如果一个系统返回本地时间而另一个系统返回UTC,那么您将看到这一点。
答案 2 :(得分:1)
尝试使用date_default_timezone_set()设置数据库中使用的PHP时区。
date_default_timezone_set - 设置所有人使用的默认时区 脚本中的日期/时间函数
另见date_default_timezone_get()如何获取ini-set timezone。