php - MySQL DateTime 使用 PHP 增加 1 分钟

标签 php mysql datetime

我希望 MySQL 数据库上的 DATETIME 记录按顺序增加 1 分钟,以如下方式结束:

2018-02-08 00:00:00
2018-02-08 00:01:00
2018-02-08 00:02:00
2018-02-08 00:03:00

尝试通过这样做来更新记录:

$minutes = 0;

    foreach ($rows as $row) {
        $minutes++;
        $newtimestamp = strtotime('2018-02-18 00:00 + '.$minutes.' minute');
        $updated = date('Y-m-d H:i:s', $newtimestamp);
    }

但是,它不起作用,我在 MySQL 上的每条记录都得到相同的时间。

最佳答案

您可以使用DateTimeDateInterval实现此目的的对象:

$records = array(1, 2, 3, 4, 5);

$start_time = new DateTime('2018-02-18');

foreach ($records as $record)
{
  $start_time->add(new DateInterval('PT1M')); // Add 1 minute
  echo $start_time->format('Y-m-d H:i:s');
}

输出:

2018-02-18 00:01:00
2018-02-18 00:02:00
2018-02-18 00:03:00
2018-02-18 00:04:00
2018-02-18 00:05:00

关于php - MySQL DateTime 使用 PHP 增加 1 分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48685151/

相关文章:

javascript - 如何在 PHP 中防止 echo 并获取它里面的内容?

php - sql只更新一行

php - 在 PHP 中优化从数组生成不重复的数组

MySQL Auto-Inc 错误?

java - 在两个不同时区之间传递日期对象而不在java中应用时区转换

php - 以下哪种情况检索格式化日期的速度更快?

mysql - 在 solrconfig.xml 中设置 <autocommit> 需要什么

php - 数组值不能插入多于一项的数据

python - 如何在 Django 中舍入时区感知日期

iphone - 在 objective-c 中以自定义格式获取当前时间