我想在php pdo中创建循环,它会创建一个json数据,但循环必须持续一个月。
我写这个:
try {
for ($i=1; $i<=30; $i++) {
$temp = array();
$temp['ID'] = $i;
$output['data'][] = $temp;
}
$jsonTable = json_encode($output);
所以这会让我回归30行,为期30天。现在我想创建一个范围等,让我从2014年2月1日到2014年2月28日/ 29.02.2014的其他时间排成一排...... 2月...
如何实现这一目标?一些想法?
答案 0 :(得分:1)
如果您无法自己阅读本手册:
$dateString = '01.02.2014';
$dt = new DateTime($dateString);
$daysInMonth = $dt->format('t');
将为您提供$dateString
循环一个月内的一种方式:
$dateString = '01.02.2014';
$startDate = new DateTime($dateString);
$period = new DateInterval('P1M');
$endDate = clone $startDate;
$endDate->add($period);
$dayPeriod = new DateInterval('P1D');
while ($startDate < $endDate) {
echo $startDate->format('Y-m-d'), PHP_EOL;
$startDate->add($dayPeriod);
}
获取一个月的日期列表的另一种方法
$dateString = '01.02.2014';
$startDate = new DateTime($dateString);
$period = new DateInterval('P1M');
$endDate = clone $startDate;
$endDate->add($period);
$interval = new DateInterval('P1D');
$daterange = new DatePeriod($startDate, $interval ,$endDate);
foreach($daterange as $date){
echo $date->format("Y-m-d") . PHP_EOL;
}