0
我有這一行更新代碼,比較當前日期(date1)與date2「$ date2 = ew_StdCurrentDateYear();」那應該是dd.mm.year,但它只是比較日期和月份,那些沒有考慮當年。 問題是一年前的條目等於$ compdates == 1(如果條目是在日期前31.03.2017)PHP行更新有一個小缺陷
如何更改代碼以實際獲取它以比較年份?
// Row Updating event
function Row_Updating($rsold, &$rsnew) {
$date1 = $rsnew["data"];
$date2 = ew_StdCurrentDateYear();
$compdates = CompareDates($date1, $date2);
if (($compdates == 1) && ($rsnew["suma"] == $rsnew["cota"])) {
$rsnew["suma_acor"] = $rsnew["cota"] * 50/100;
$rsnew["suma_filiala"] = $rsnew["cota"] * 50/100;
$rsnew["suma_cotiz"] = 0;
}
if (($compdates == 2) && ($rsnew["suma"] == $rsnew["cota"])) {
$rsnew["suma_acor"] = $rsnew["cota"] * 60/100;
$rsnew["suma_filiala"] = $rsnew["cota"] * 40/100;
$rsnew["suma_cotiz"] = 0;
}
//31.03 every year
function ew_StdCurrentDateYear() {
return date('Y/03/31');
}
//compares the calendar date with 31.03 every year
function CompareDates($date1, $date2) {
list($year, $month, $day) = preg_split('/-/', $date1);
$new_date1 = sprintf('%04d%02d%02d', $year, $month, $day);
list($year, $month, $day) = preg_split('/\//', $date2);
$new_date2 = sprintf('%04d%02d%02d', $year, $month, $day);
if ($new_date1 <= $new_date2) {
return 1;
} else {
return 2;
}
}