关于在当前日期添加天数

时间:2013-04-05 02:52:57

标签: java calendar

我是java世界的新手。我正在学习和探索java日历类,它是一个由工厂方法get instance()组成的抽象类。我试图增加或减少日期,例如在当前日期添加一天以获取明天的日期,减去一天以获得昨天的日期等。由于Java中的日期保持为长毫秒值,因此有时程序员倾向于将24小时添加为一天。如果白天属于夏令时区,那么这可能是错误的,其中一天可能是23或25小时。当您从日期添加或减去天数时,日期的其他组成部分,例如月份和年份必须滚动。

我的查询如下所示。在课堂上我试图添加和减去日子。请告知,这是正确的方法,还是有其他更好的方法,你会建议。

    //Using Calendar to increment and decrement days from date in Java
     Date today = new Date(); 
    System.out.println("Today is " + toddMMyy(today)); 
    Calendar cal = Calendar.getInstance(); //adding one day to current date cal.add(Calendar.DAY_OF_MONTH, 1); 
    Date tommrrow = cal.getTime(); 
    System.out.println("Tomorrow will be " + toddMMyy(tommrrow)); //substracting two day from date in Java
    cal.add(Calendar.DAY_OF_MONTH, -2); 
Date yesterday = cal.getTime(); System.out.println("Yesterday was " + MMyy(cal.getTime()));

1 个答案:

答案 0 :(得分:1)

你是对的。当我们使用Date milliseconds算法时会发生这种情况

     SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
     Date d1 = df.parse("2013-03-30 12:00");
     Date d2 = new Date(d1.getTime() + 24 * 3600 * 1000);  // +24 hrs
     System.out.println(df.format(d2));

输出

2013-03-31 13:00