• 写完这段代码,就被开除了……


    最近在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),转载请原样保留本信息。

  • 相关阅读:
    每周必写
    每周必写
    每周必写
    感想及阅读内容
    阅读内容及感想
    每周感想和阅读内容
    每周感想及阅读内容
    每周感想及阅读内容
    分答
    每周感想及阅读内容
  • 原文地址:https://www.cnblogs.com/javastack/p/9887385.html
Copyright © 2020-2023  润新知