使用PHP,MySQL DateTime缩短1分钟

时间:2018-02-08 12:08:48

标签: 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上的每条记录都得到同样的时间。

2 个答案:

答案 0 :(得分:3)

您可以使用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

答案 1 :(得分:0)

以下是一个例子:

$tableresults = array('2018-02-08 00:00:00','2018-02-08 00:00:00','2018-02-08 00:00:00','2018-02-08 00:00:00');

$i=1;

foreach($tableresults as $DateTime){
        $DateTime = date('Y-m-d H:i:s',strtotime($DateTime));
        echo $cenvertedTime = date('Y-m-d H:i:s',strtotime('+'.$i.' minutes',strtotime($DateTime)));
    $i++;
}