我需要生成递增日期的字符串,是这样的:生成递增日期字符串
(year, month, day, hour, minute)
2010, 2, 12, 11, 30
2010, 2, 12, 11, 31
etc
什么是这样做的最佳方式?我可能想要生成多达1000行,像这样
我需要生成递增日期的字符串,是这样的:生成递增日期字符串
(year, month, day, hour, minute)
2010, 2, 12, 11, 30
2010, 2, 12, 11, 31
etc
什么是这样做的最佳方式?我可能想要生成多达1000行,像这样
可以使用date classes(注:DateInterval和DatePeriod只可用于PHP 5.3),使生活更轻松。
$start = new DateTime('2010-02-12 11:30', new DateTimeZone('UTC'));
$interval = new DateInterval('PT1M'); // 1 minute interval
$period = new DatePeriod($start, $interval, 100); // Run 100 times
foreach ($period as $datetime) {
// Output like: 2009, 02, 12, 11, 30
echo $datetime->format("Y, m, d, H, i") . PHP_EOL;
}
一个不太漂亮,但在老版本的PHP,替代后来看到其他建议推荐mktime可用。
<?PHP
for ($i = 0; $i < 1000; $i++) {
$startTimeSec = mktime(11, 30 + $i, 0, 2, 12, 2010);
echo date("Y, m, d, h, i", $startTimeSec) . "\n" . '<br />';
}
?>
for($i=1;$i<=10;$i++){
$tomorrow = mktime(0,0,0,date("m"),date("d")+$i,date("Y"));
echo "Tomorrow is ".date("Y m d", $tomorrow);
}
最简单的是在我脑海中与PHP < 5.3
echo '(year, month, day, hour, minute)', PHP_EOL;
for($i = 0; $i < 1000; $i++) {
echo date('Y, m, d, H, i', strtotime("+$i minute")), PHP_EOL;
}