我正在尝试获取两个日期之间的所有日期,并将它们全部插入到一个表中。我怎样才能做到这一点呢?
//current date
$currentDate = date('Y-m-d');
//find next monday from current date
$nextMonday = date('Y-m-d', strtotime('next monday', strtotime($currentDate)));
//get last day of current year
$yearEnd = date('Y-m-d', strtotime('12/31'));
//get all dates between nextMonday and yearend
[...]
foreach ($period as $dateCreated) {
//insert the dates in db
$stmt = $conn->prepare("INSERT INTO user_schedule (userId,dateCreated) VALUES (?,?)");
$stmt ->bind_param('is',$userid,$dateCreated);
$stmt ->execute();
$stmt ->close();
}
发布于 2018-06-21 05:10:12
function get_dates_through_range($start, $end, $format = 'Y-m-d')
{
$range = array();
$interval = new DateInterval('P1D');
$range_end = new DateTime($end);
$range_end->add($interval);
$period = new DatePeriod(new DateTime($start), $interval, $range_end);
foreach($period as $date) {
$range[] = $date->format($format);
}
return $range;
}
$start = '2010-01-01';
$end = '2010-01-05';
$range = get_dates_through_range($start, $end);
// [2010-01-01, 2010-01-02, 2010-01-03 ...]
发布于 2018-06-21 05:23:46
$firstDay = mktime(0, 0, 0, $rep_month, 1, $rep_year);
$lastDay = mktime(0, 0, 0, ($rep_month+1), 0, $rep_year);
使用上面的代码,并根据您的系统进行修改,您将获得最好的结果。
发布于 2018-06-21 06:01:36
这对我来说是完美的,它的效果就像一个护身符。非常快速和简单。
//current date
$currentDate = date('Y-m-d');
//find next monday from current date
$nextMonday = date('Y-m-d', strtotime('next monday', strtotime($currentDate)));
//get last day of current year
$yearEnd = date('Y-m-d', strtotime('12/31'));
//get all dates between nextMonday and yearEnd
$period = new DatePeriod(new DateTime($nextMonday), new DateInterval('P1D'), new DateTime($yearEnd .' +1 day'));
//iterate over each date
foreach ($period as $date) {
//format date
$dateCreated = $dates[] = $date->format("Y-m-d");
//insert the dates in db
$stmt = $conn->prepare("INSERT INTO user_schedule (userId,dateCreated) VALUES (?,?)");
$stmt ->bind_param('is',$userid,$dateCreated);
$stmt ->execute();
$stmt ->close();
}
https://stackoverflow.com/questions/50957009
复制相似问题