我正在尝试获取2个日期之间的差异,并获取每个月的最后一天插入数据做数据库。因此,如果此数据范围有3个月,它将向数据库插入3行(每月一行)。
我现在拥有的是:
$jj = '2007-12-31';
$kk = '2009-12-31';
$begin = new DateTime($jj);
$end = new DateTime($kk);
$interval = DateInterval::createFromDateString('last thursday of next month');
$period = new DatePeriod($begin, $interval, $end, DatePeriod::EXCLUDE_START_DATE);
foreach ( $period as $dt ) {
echo $dt->format( "Y-m-t\n" );
}
这将输出此日期范围的每个月的最后一天,但现在我需要在每个月的mysql表上添加一个新行。
如果有助于更好地理解我的问题,这是为了节省每月付款,但会有3个月,6个月,1年的付款......并且所有付款都将按月存储。
提前谢谢!
答案 0 :(得分:0)
如果我理解正确......你会不会这样做:
$insertSQL = "INSERT INTO <table> (%d, '%s', ...);";
foreach ( $period as $dt ) {
$payDate = $dt->format( "Y-m-t\n" );
mysql_query(sprintf($insertSQL, $custID, $payDate, ...);
}