寫完這段程式碼,就被開除了……
阿新 • • 發佈:2018-11-01
最近在Java技術棧微信公眾號粉絲微信群裡看到一張圖,說是剛寫完這段下面這段程式碼就被開除了。
開除的原因是因為沒寫註釋嗎?
顯然不是,休眠的邏輯,大家都懂,不需要寫註釋,你註釋寫休眠 1 天也沒意義啊。。。
這個程式設計師的思維不是一般的牛啊,獲取下一天的日期,居然要休眠等到下一天再獲取,欲哭無淚。。。
再來看下加強版的,獲取未來幾天的日期。。。
/** * 獲取未來幾天的日期 * @param days 指定的天數 * @author 微信公眾號:Java技術棧 * @return */ public static Date getNextDays(int days){ try { // 休眠指定的天數 Thread.sleep(days * 24 * 60 * 60 * 1000); } catch (InterruptedException e) { e.printStackTrace(); } // 休眠結束後返回日期 return new Date(); }
寫完,已笑暈在廁所。。。
想離職找不到藉口?
那還不容易,哥送你這段加強版,複製這段程式碼,提交打包測試上線,坐等開除。
說了這麼多,那正確的獲取未來的日期的姿勢是什麼呢?
public static Date getNextDays(int days) {
Calendar c = Calendar.getInstance();
c.setTime(new Date());
c.add(Calendar.DATE, days);
return c.getTime();
}
建議使用 Apache 的 commons-lang
工具類,沒有必要重複造輪子,還沒別人造得好。。。
org.apache.commons.lang3.time.DateUtils#addDays
原理也是使用了 Java 中的 Calendar 類來處理的。
有共同興趣志向的,都可以關注博主的公眾號:Java技術棧(id:javastack)。
本文原創首發於微信公眾號:Java技術棧(id:javastack),轉載請原樣保留本資訊。