其实我在一个php网站上工作,用户在数据库中广告了一些条目。在插入时,他添加了一个日期字段,该字段也存储在db中。现在我想要该条目的年龄(将该条目保存到数据库后经过了多长时间)。 为此,我调用了一个函数,我正在通过那个日期&然后使用strtotime()函数我在几秒钟内得到那个时间。为了获得经过的时间,我从当前时间减去转换时间。 在这里,我遇到了主要问题。它给了我负面的价值。我被困在这里这么久了我无法弄清楚为什么它会返回负值。请帮我解决这个问题。这是我尝试过的代码。
function timeSpan($string)
{
$timestamp = strtotime($string);
$now = time();
$timeSpan = $now-$timestamp;
...........
...........
}
这里我将datetime作为$ string传递给在表单提交时保存在db中的函数。我已使用“datetime”类型保存日期。现在$ timeSpan变量返回负值。任何人都知道它为什么会返回负值?
答案 0 :(得分:0)
如果您的减法返回负值,那么因为存储的time()比服务器中的当前时间更新。
time()
是自1970年1月1日以来经过的秒数。
如果您保存的时间戳是111,而您的服务器说当前时间是100,那么您将获得负值。
答案 1 :(得分:0)
嘿伙计们,我得到了解决方案。实际上该函数返回服务器时间。那个时间取决于服务器的位置。它返回那个时间。所以我指定了我的时区。现在它正在回归正确的时间。