我想让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上的每条记录都得到同样的时间。
答案 0 :(得分:3)
您可以使用DateTime和DateInterval个对象来实现此目的:
$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++;
}