寫完這段代碼,就被開除了……


最近在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),轉載請原樣保留本信息。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM