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


  • 2020-11-23 08:52:59

    asm.js 和 Emscripten 入门教程

    asm.js 就是为了解决这两个问题而设计的:它的变量一律都是静态类型,并且取消垃圾回收机制。除了这两点,它与 JavaScript 并无差异,也就是说,asm.js 是 JavaScript 的一个严格的子集,只能使用后者的一部分语法。

  • 2020-11-23 09:11:07

    爬虫——记一次破解前端加密详细过程

    从最初使用webdriver+selenium爬虫到现在利用http请求解析html,经历过各种各样的问题,webdriver+selenium这种办法虽然万能,而且可以用JS写解析脚本方便调试,

  • 2020-11-24 19:18:43

    nuxtjs打成用于webview的相对路径

    路径为绝对路径,当项目的域名为二级域名的时候,就不能打包为这绝对路径了。 nuxt不同于vue项目,思索了许久,终于找到了配置的地方

  • 2020-11-24 23:22:59

    eruda,移动端网页调试神器

    webapp或者移动端网页需要嵌入到app时候,尤其是在APP内置的webView上加载我们的页面,想要查看手机浏览器信息是非常困难的事,当出现问题的时候,你又不能查看日志,一般会连接本地测试环境,然后在alert来打印日志

  • 2020-11-30 09:04:02

    js中set和get方法

    1. get和set是方法,因为是方法,所以可以进行判断 2. get一般是要返回的;而set是设置,不用返回 3. 如果调用对象内部的属性约定的命名方式是变量名前加_