Java如何获取Date的“昨天”与“明天”示例代码

2017-11-19 00:17:51

最近在做项目的时候用到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“昨天”和“明天”的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。


  • 2019-12-29 15:05:57

    php 数组分页 array_slice()函数用法

    今天用到一个函数,非常好用,分享给大家 array_slice() -从数组中取出一段 也就是说用这个函数可以和sql语句一样实现分页,原理是将查询出的数组,取出从指定下标开始到指定长度的数组

  • 2019-12-30 10:17:21

    router-link传递参数,query

    在vue-router中,有两大对象被挂载到了实例this; $route(只读、具备信息的对象); $router(具备功能的函数) 查询字符串: 去哪里 ? <router-link :to="{name:'detail',query:{id:1}}"> xxx </router-link>

  • 2019-12-30 16:48:41

    vue provide/inject详解和用法

    父子组件交互方式多种,props、vuex、 、 emit、localStorage还有就是这个provide/inject了。它适合层级比较深的组件,比如子,子孙,子孙后代的组件有好几个用到父组件的某个属性,就可以用到这个provide/inject,它可以避免写大量繁琐的传值代码 我这里为什么要使用它? 我一个知识库详情父组件中包含了大量的子组件,每个子组件都需要父组件的知识库ID,这时候我不想写大量props,就用到provide/inject进行传值了