0
私はこの行を更新して、現在の日付(date1)をdate2 "$ date2 = ew_StdCurrentDateYear();と比較します。 dd.mm.yearにする必要がありますが、現在の年を考慮しない日と月のみを比較します。 年齢のエントリは$ compdates == 1と等しい問題です(エントリが2007年3月31日より前の日付である場合)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;
}
}