我已經調試過這個遺留代碼,並且希望對它進行完整性檢查。確定一個星期是奇數還是偶數
它的目的是讓某人選擇發貨頻率來運送產品。如果有人每隔一週需要他們的產品,系統需要確定他們是否應該在下週或者從現在起兩週內下訂單。我們稱之爲一週或B周。
請記住我沒有寫這個,我只是想弄懂它的意思,想一些幫助評估其精度:
if (date("l") == "Monday") {
$start = 0;
} else if (date("l") == "Tuesday" || date("l") == "Wednesday" || date("l") == "Thursday" || date("l") == "Friday" || date("l") == "Saturday"|| date("l") == "Sunday") {
$start = -1;
}
// if changing to every other week set to next week's a/b-ness
$a_week_tid = 34;
$b_week_tid = 35;
$every_other_week_frequency_id = 32;
if ($delivery_frequency == $every_other_week_frequency_id) {
$julian = (int) (strtotime('Monday +' . $start . ' week')/86400);
$julian_week = ($julian-4)/7;
if ($julian_week % 2) {
$today_a_or_b = $b_week_tid;
$next_week_a_or_b = $a_week_tid;
$a_or_b_week_string = '(A Week)';
} else {
$today_a_or_b = $a_week_tid;
$next_week_a_or_b = $b_week_tid;
$a_or_b_week_string = '(B Week)';
}
} else {
$next_week_a_or_b = NULL;
$a_or_b_week_string = NULL;
}
此代碼沒有被註釋掉或記錄。混淆我的部分是:
- 爲什麼從朱利安中扣除4,然後除以7?
- 如果今天是星期一,$ julian_week是2129,並且2129%2評估爲TRUE。那是對的嗎?
- 這是甚至應該怎麼做?我不能用日期('w')輕鬆地重寫這個嗎?
我並不完全理解上面的代碼,所以可能會有一些平日相關的複雜性,但這種*力量*有可能改寫容易得多 - 沿'(週數的線,因爲訂的是放置%2 == 0?「A week」:「B week」)' – 2010-10-19 15:28:33
可能由不知道日期的人寫成(「W」); – Incognito 2010-10-19 15:29:24