使用strotime时出现PHP错误

使用strotime时出现PHP错误,php,date,Php,Date,嗨,我在尝试使用php strottime函数获取日期间隔时出错 代码是: <?php $interval = time() - strtotime('1992/08/13'); //expect to be 18 // but the output is 1988 print date('Y', $interval); ?> 有什么建议吗 谢谢你想知道过去的年份而不是实际的年份吗 如果是: $year = 31556926; $inte

嗨,我在尝试使用php strottime函数获取日期间隔时出错 代码是:

 <?php
    $interval = time() - strtotime('1992/08/13');

    //expect to be 18
    // but the output is 1988
    print date('Y', $interval);
 ?>

有什么建议吗


谢谢

你想知道过去的年份而不是实际的年份吗

如果是:

$year = 31556926;

$interval = time() - strtotime('1992/08/13');
print round($interval / $year);

你是想得到过去的年份而不是实际的年份吗

如果是:

$year = 31556926;

$interval = time() - strtotime('1992/08/13');
print round($interval / $year);
这是因为所有的time()函数都是从1970年的epoch开始的秒数,所以您的out实际上是从epoch开始的18年。如果你想在几年内得到差异,你可能需要自己计算差异

打印$interval/(60*60*24*365.242199)

这是因为所有time()函数都是自1970年的
epoch
以来的秒数,所以您的out实际上是自epoch以来的18年。如果你想在几年内得到差异,你可能需要自己计算差异


打印$interval/(60*60*24*365.242199)

如果您想在PHP中处理日期间隔,我推荐的
DateInterval
类远远不够。本周早些时候,我写了一篇博客文章:


这里有一个使用它的例子,可以让你做你想做的事情。

如果你想在PHP中处理日期间隔,我推荐的
DateInterval
类还不够。本周早些时候,我写了一篇博客文章:

$interval = time() - strtotime('1992/08/13');
这里有一个使用它的例子,它应该允许你做你想做的事情

$interval = time() - strtotime('1992/08/13');
这些PHP函数用于处理。这意味着从
1970开始的秒数。101
。因此,
1992/08/13
被转换为时间戳(秒)<代码>时间()给出当前时间戳(秒)。将前者从后者中减去,得到这两个日期之间的秒数。这不是一个日期本身,只是一个间隔

如果您想获得年份,请执行类似以下操作:
echo$interval/(60*60*24*365)将秒转换为年(不准确,闰年将不予考虑)。尽管你最好的选择是查看James C的链接并使用他的解决方案。我只是想解释一下

这些PHP函数用于处理。这意味着从
1970开始的秒数。101
。因此,
1992/08/13
被转换为时间戳(秒)<代码>时间()
给出当前时间戳(秒)。将前者从后者中减去,得到这两个日期之间的秒数。这不是一个日期本身,只是一个间隔



如果您想获得年份,请执行类似以下操作:
echo$interval/(60*60*24*365)将秒转换为年(不准确,闰年将不予考虑)。尽管你最好的选择是查看James C的链接并使用他的解决方案。我只是想解释一下。

您的代码运行良好。你能提供实际的错误吗?你想完成什么?你得到了从约会到今天的秒数。你的代码运行良好。你能提供实际的错误吗?你想完成什么?你得到的是从约会到今天的秒数。就是这样。它之所以打印出1988是因为时间戳从1970年1月1日开始。1970+18=1988Pekka在这里赚钱。你不能把时间间隔当作绝对日期。我不知道为什么这会被否决。这是唯一的答案,其他人都走错了路,就是这样。它之所以打印出1988是因为时间戳从1970年1月1日开始。1970+18=1988Pekka在这里赚钱。你不能把时间间隔当作绝对日期。我不知道为什么这会被否决。这是唯一的答案,其他人最终都走错了+1!其他人知道问题是什么。DateInterval是一个不错的选择。先检查PHP版本,谢谢。这篇博文的灵感来自于看到大量这样的问题<代码>日期间隔
很棒;但是请注意,它只能从PHP5.3中获得,最后是+1!其他人知道问题是什么。DateInterval是一个不错的选择。先检查PHP版本,谢谢。这篇博文的灵感来自于看到大量这样的问题<代码>日期间隔很棒;但是请注意,它仅在PHP5.3中可用,@meouw,闰年固定:)呵呵,尼斯,这在什么时间段内是准确的?@meouw,闰年固定:)呵呵,尼斯,这在什么时间段内是准确的?