使用 php 按年/月更新数值

Updating number values by year / month with php

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

与您在页脚中更新网站日期的方式类似:

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

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

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

开始

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

或者 Betty 在这里工作了 5 个月....在下个月过去后它会更新为 6,然后一旦达到 12 个月就会变为 1 年然后 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;

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

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

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

<?php

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

echo ($total_years);

?>

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

用当前时间戳(time() returns 减去初始 Unix 时间戳,除以 60 * 60 * 24 * 365,并相应地四舍五入(你可能想要 floor() 用户注册的年限,以及 ceil() 企业经营的年限)

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

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