使用php按年/月更新数字值

时间:2015-01-14 18:02:41

标签: php date

我想知道是否有办法每年更新某个数字值?

类似于如何在页脚中更新网站日期,如下所示:

<?php echo date("Y"); ?>

我正在寻找一种每年/每月更新一组号码的方法。

例如,一个网站说他们已经经营了10年。然后当下一年过去时,我希望PHP自动将值更新为11年。请注意,我必须从数字10开始

另一个例子是年龄:约翰是21岁。经过一年的过去,我希望PHP更新网站说,约翰是22岁。

或者贝蒂已经在这里工作了5个月....在下个月通过之后,它将更新为6,然后一旦达到12个月就会变为1年,然后是2年等等...多一点了,但你明白了。

如果有人知道如何实现这一目标,我将非常感谢您的帮助,或者您是否可以指出我正确的方向来解决这个问题,这也是有用的。

4 个答案:

答案 0 :(得分:2)

是的,您需要了解两件事 - 当前日期和您与之比较的日期。然后你只需要比较它。

我建议您使用PHP DateTimeDateInterval等类,这对您来说非常简单。

例如:

$now = new DateTime('now');
$comparison_date = new DateTime('2005-01-01'); // roughly 10 years ago
$interval = $now->diff($comparison_date); // returns DateInterval object
$years_difference = $interval->y;

答案 1 :(得分:1)

你可以在这里找到答案: How to calculate the difference between two dates using PHP?

通过使用strtotime()将两个日期转换为unix时间并计算它们之间的秒数,然后重新转换为人类可读。

答案 2 :(得分:0)

要计算年份之间的差异,您可以使用这样的简单总和:

<?php

$cur_year = date("Y");
$year = 2008;
$total_years = $cur_year - $year;

echo ($total_years);

?>

几个月你可以使用类似的东西

答案 3 :(得分:0)

使用当前时间戳(time()返回它)减去初始Unix时间戳,除以60 * 60 * 24 * 365,并相应地舍入(您可能希望floor()用户年份已经注册,ceil()这些年来一直在工作)

$start = 12345646;
$years = ceil((time() - $start) / 31536000.0); // Important: use a float

请注意,这使用“年”作为一组365天。它不会考虑闰年。