Php 每日倍增值

Php 每日倍增值,php,datetime,strtotime,Php,Datetime,Strtotime,我正在尝试制作一个脚本,在一个时间戳之后每天惩罚一个用户。 第一天,它将被扣分1分,第二天2分,第三天4分,第四天8分,16分,32分,64分,依此类推 如何自动生成strotime和乘法 我真的不知道我要找的是什么,在这一点上,这使得搜索困难,抱歉,如果这已经张贴 试试这个 $initial_date = '2012-10-20'; $initial_datetime = new DateTime($initial_date); $today_datetime = new Date

我正在尝试制作一个脚本,在一个时间戳之后每天惩罚一个用户。 第一天,它将被扣分1分,第二天2分,第三天4分,第四天8分,16分,32分,64分,依此类推

如何自动生成strotime和乘法

我真的不知道我要找的是什么,在这一点上,这使得搜索困难,抱歉,如果这已经张贴

试试这个

$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;

假设$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
...

这些都是很好的答案。但是,我必须这样做。我应该如何动态地将每个代码输入到mysql字符串中?或者更确切地说,我应该如何每天只启动一次?如果您想每天运行一些代码,那么您应该使用uss CRON。