每日PHP增加值

时间:2012-10-25 05:54:06

标签: php datetime strtotime

我正在尝试制作一个在时间戳之后每天惩罚用户的脚本。 对于第一天,它将惩罚1点,第二天2点,第三点4点,第四点8点,16点,32点,64点等等。

我如何自动生成strtotime和乘法?

我真的甚至都不知道我正在寻找的东西在这一点被召唤,这使得搜索变得困难,对不起,如果已经发布了。

2 个答案:

答案 0 :(得分:0)

试试这个

$initial_date     = '2012-10-20';
$initial_datetime = new DateTime($initial_date);
$today_datetime   = new DateTime();
$days_passed      = $initial_datetime->diff($today_datetime)->format('%a');
$penalty          = pow(2, ($days_passed-1));
echo $penalty;

答案 1 :(得分:0)

我们假设,$ timestamp1是第一天的时间戳,$ timestamp2现在是时间戳。然后:

$difference = abs(strtotime($timestamp2)-strtotime($timestamp1));

$days = floor($difference / (60*60*24));
$penalty = pow(2,$days);

echo "{$days} left, so your penalty is: {$penalty}";

示例结果:

0 left, so your penalty is: 1
1 left, so your penalty is: 2
2 left, so your penalty is: 4
3 left, so your penalty is: 8
4 left, so your penalty is: 16
5 left, so your penalty is: 32
6 left, so your penalty is: 64
...
相关问题