0

我在 6:38:47 运行 time(),它返回的值与同一时间的 strtotime 不同。为什么是这样?

4

2 回答 2

0

strtotime根据系统时区解释时间字符串参数;time与时区无关,因为它只返回自 Unix 纪元开始以来的秒数。

如果您的系统时区不是 UTC,您应该期望值有所不同,因为您传递给的时间字符串参数strtotime是硬编码的。您对“当前挂钟时间”的概念与系统的概念不同,因此时间戳不同。

于 2013-08-28T10:59:25.993 回答
0

它应该绝对返回相同的值。运行此代码:

<?php
$time = time();
$string = date('Y-m-d H:i:s', $time);
$strtotime = strtotime($string);
print "time = $time\n";
print "string = $string\n";
print "strtotime = $strtotime\n";
print "difference = ".($time-$strtotime)."\n";
?>

我现在的输出:

time = 1377686839
string = 2013-08-28 12:47:19
strtotime = 1377686839
difference = 0

你对此有所不同吗?您也可以发布您的测试代码,也许那里有错误。

于 2013-08-28T10:49:17.857 回答