我是 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()));
最佳答案
你是对的。这是我们使用 Date 毫秒算术时发生的情况
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
关于java - 关于向当前日期添加天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15825106/