作者 | 栈长
本文经授权转载自Java技术栈(ID:javastack)
在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 类来处理的。
千人盛会临近!距离BDTC 2019开幕仅剩5天!
12月5-7日,2019中国大数据技术大会(BDTC 2019),三天超强技术峰会,百位顶尖技术专家,Keynote+13大干货技术专场,燃烧你的小宇宙!