我想知道是否有办法每年更新某个数字值?
类似于如何在页脚中更新网站日期,如下所示:
<?php echo date("Y"); ?>
我正在寻找一种每年/每月更新一组号码的方法。
例如,一个网站说他们已经经营了10年。然后当下一年过去时,我希望PHP自动将值更新为11年。请注意,我必须从数字10开始
另一个例子是年龄:约翰是21岁。经过一年的过去,我希望PHP更新网站说,约翰是22岁。
或者贝蒂已经在这里工作了5个月....在下个月通过之后,它将更新为6,然后一旦达到12个月就会变为1年,然后是2年等等...多一点了,但你明白了。
如果有人知道如何实现这一目标,我将非常感谢您的帮助,或者您是否可以指出我正确的方向来解决这个问题,这也是有用的。
答案 0 :(得分:2)
是的,您需要了解两件事 - 当前日期和您与之比较的日期。然后你只需要比较它。
我建议您使用PHP DateTime
,DateInterval
等类,这对您来说非常简单。
例如:
$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天。它不会考虑闰年。