abs + strtotime对不同的日期减法给出相同的结果

时间:2014-12-12 00:20:17

标签: php strtotime

我有这段代码:

<?php

$data = array(array("1","name1","2050-10-10"),array("2","name1","2051-10-10"));
$date = date("Y-m-d");
$x = 2;

foreach($data as $day)
{
$interval[] = abs(strtotime($date) - strtotime($day[$x]));
$interval[] = $day[$x];
}

var_dump($interval);

?>

我在自己的服务器上尝试过:

它返回:

array(1) { 
[0]=> array(4) { 
  [0]=> int(1418338800) 
  [1]=> string(10) "2050-10-10" 
  [2]=> int(1418338800) 
  [3]=> string(10) "2051-10-10"    
} 
} 

http://writecodeonline.com/php/返回:

array(4) {
  [0]=>
  int(1130716800)
  [1]=>
  string(10) "2050-10-10"
  [2]=>
  int(1162252800)
  [3]=>
  string(10) "2051-10-10"
}

我不明白为什么价值1418338800保持不变,我想知道如何解决这个问题!

提前多多谢谢你

遵循@Jonathan Kuhn的建议:

<?php

echo strtotime("2051-10-10");
echo strtotime("2050-10-10");
echo strtotime("2040-10-10");
echo strtotime("2039-10-10");
echo strtotime("2038-10-10");
echo strtotime("2037-10-10");
echo strtotime("2036-10-10");

?>

它返回:

empty line
empty line
empty line
empty line
empty line
2138738400
2107202400

问题来自32位系统。

0 个答案:

没有答案