1. 程式人生 > 其它 >犯了一個低階的錯誤,我差點去世了

犯了一個低階的錯誤,我差點去世了

技術標籤:java基礎每天進步一點點bugjava

犯了一個低階的錯誤,還好及時改正了

有個業務是小朋友填寫成績,每門課每週只能新增一次,再次新增就給出已經新增過的提示。

這個再簡單不過了,第一時間想到用SQL處理,但這樣可能不利於閱讀程式碼來理解邏輯,那用Java實現吧,資料庫咱就不做過多的邏輯,只用來存取資料。

一週只能填一次,那就是週一0點開始到周天23點59分59秒,每個學科只有一個記錄。時間範圍確定了,擼下了令人悲傷的程式碼。

public static String getMondayOfThisWeek() {
        Calendar instance = Calendar.
getInstance(Locale.CHINA); instance.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); return new SimpleDateFormat("yyyy-MM-dd 00:00:00").format(instance.getTime()); }

搞完測試,完美通過。收工。

有沒有人和我一樣寫過同樣的程式碼,至今沒有發現的!!!沒有則好,有的話收拾收拾跑路吧。

在這裡插入圖片描述

因為一些不可抗拒因素,耽誤了上線,週六晚上轉輾反側難以入睡,索性爬起來測試一下APP,這一測讓原本沒睡意的我雪上加霜。嗯?怎麼回事,我怎麼能一直錄入成績,不是限制一週只能錄一次嗎?

第一反應肯定不是我的鍋,我怎麼能犯這麼低階的問題,嗯,肯定不是!!!明天提醒一下同事,讓修改吧。穩住,繼續睡覺。

在這裡插入圖片描述

熄燈後想了想,能新增成功好像是介面限制失效了,和同事有啥關係,我開始有點慌了,慌了,穩住。先想想會出什麼問題,難道伺服器不是最新程式碼?不,那會剛剛測試過,沒得問題。那怎麼回事?

在這裡插入圖片描述

突然,我想到了今天是周天,哦,該死,果然一到週末就出問題。

Java是老 美寫的,我們每週開始第一天是週一,而老美是週日。比如今天2021-1-10號是周天,獲取本週週一,對我們來說獲取的是2021-1-04號,而對老美來說則是第二天那就是2021-1-11日。

這算是文化差異嗎?竟然犯了這麼低階的錯誤,幸好電腦在身邊,開燈、開電腦、改bug一氣呵成,強忍著睡意的我寫下了如下程式碼。

獲取每週週一

public static String getMondayOfThisWeek() {
        Calendar c = Calendar.getInstance();
        int day_of_week = c.get(Calendar.DAY_OF_WEEK) - 1;
        if (day_of_week == 0) {
            day_of_week = 7;
        }
        c.add(Calendar.DATE, -day_of_week + 1);
        return new SimpleDateFormat("yyyy-MM-dd 00:00:00").format(c.getTime());
}

獲取每週週日

public static String getSundayOfThisWeek() {
        Calendar c = Calendar.getInstance();
        int day_of_week = c.get(Calendar.DAY_OF_WEEK) - 1;
        if (day_of_week == 0) {
            day_of_week = 7;
        }
        c.add(Calendar.DATE, -day_of_week + 7);
        return new SimpleDateFormat("yyyy-MM-dd 23:59:59").format(c.getTime());
}

改完後測了一下,再三確認,上線,睡覺。

還好是帶了電腦,要不然估計更加睡不著了。

離過年回家的日子越來越近,心早已按捺不住。 導致Bug成指數增加,穩住啊失憶。

在這裡插入圖片描述
上次點贊、在看的人已經脫單!!!你還在等什麼,快點贊。

我是失憶,一個熱愛技術的宅男,文章有任何問題您都可以在留言中指出。歡迎大家點贊、在看、留言。