最近在做项目的时候用到Date和Calendar比较多,而且用到的方式也比较全,突然想到一个问题,Java如何获取Date的"昨天"与"明天",也就是前一天和后一天呢?思考后写出了方法,想着万一以后用到,就总结出来,也方便有需要的朋友们参考借鉴,下面来一起看看吧。
相信大家在java中用到的最多的时间类莫过于 java.util.Date
了,由于Date类中将getYear()
, getMonth()
等获取年、月、日的方法都废弃了,所以本文的问题要借助于Calendar来实现了,下面来直接看示例代码吧。
使用日历类:Calendar
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | @Test public void dateTest() { Date today = new Date(); for ( int i= 0 ;i< 10 ;i++) { today = yesterday(today); System.out.println(today); } System.out.println( "------------" ); for ( int i= 0 ;i< 10 ;i++) { today = tomorrow(today); System.out.println(today); } } /** * 返回昨天 * @param today * @return */ public Date yesterday(Date today) { Calendar calendar = Calendar.getInstance(); calendar.setTime(today); calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 1 ); return calendar.getTime(); } /** * 返回明天 * @param today * @return */ public Date tomorrow(Date today) { Calendar calendar = Calendar.getInstance(); calendar.setTime(today); calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) + 1 ); return calendar.getTime(); } |
总结
以上就是关于利用Java获取Date“昨天”和“明天”的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。