刚写完这段代码,就被开除了……
最近在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 类来处理的。
原文发布时间为:2018-11-01
本文作者: 栈长

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
快学 Go 语言第 2 课 —— 变量什么的最讨厌了
任何一门语言里面最基础的莫过于变量了。如果把内存比喻成一格一格整齐排列的储物箱,那么变量就是每个储物箱的标识,我们通过变量来访问计算机内存。没有变量的程序对于人类来说是可怕的,需要我们用数字位置来定位内存的格子,人类极不擅长这样的事。这就好比一岁半左右的幼儿还没有学会很多名词,只能用手来对物体指指点点来表达自己的喜好。变量让程序逻辑有了丰富的表达形式。 定义变量的三种方式 Go 语言的变量定义有多种形式,我们先看最繁琐的形式 package mainimport "fmt"func main() {var s int = 42 fmt.Println(s) } -------------42 注意到我们使用了 var 关键字,它就是用来显式定义变量的。还注意到在变量名称 s 后面声明了变量的类型为整形 int,然后再给它赋上了一个初值 42。上面的变量定义可以简化,将类型去掉,因为编译器会自动推导变量类型,效果也是一样的,如下 package mainimport "fmt"func main() {var s = 42 fmt.Println(s) } ---------------...
- 下一篇
为什么我要放弃javaScript数据结构与算法(第三章)—— 栈
有两种结构类似于数组,但在添加和删除元素时更加可控,它们就是栈和队列。 第三章 栈 栈数据结构 栈是一种遵循后进先出(LIFO)原则的有序集合。新添加的或待删除的元素都保存在栈的同一端,称为栈顶,另一端就叫做栈底。在栈里, 新元素都靠近栈顶,旧元素都接近栈底。 栈也被用在编程语言的编译器和内存中保存变量、方法调用等。 创建栈 先声明这个类 function Stack(){ // 各种属性和方法的声明 } 选择数组这种数据结构来保存栈里的元素 let items = []; 为栈声明一些方法 push(element(s)): 添加一个(或者几个)新元素到栈顶 pop():移除栈顶的元素,同时返回被移除的元素 peek():返回栈顶的元素,不会对栈做任何修改(这个方法不会移除栈顶的元素,仅仅返回它) isEmpty():如果栈里没有任何元素的就返回true,否则就返回false. clear():移除栈里的所有元素 size():返回栈里的元素个数,这个方法和数组的length属性很类似。 向栈添加元素 我们要实现的第一个方法是 push,这个方法负责向栈里添加新元素,该方法只添加元素...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8编译安装MySQL8.0.19