这是我的代码
public java.util.Date getDelDate() {
Date m=new Date();
System.out.println("ticket date "+ m);
double d;
d=(multiply/consumption);
int days= (int) d;
System.out.println("del days "+ days);
m.setTime(m.getTime() + days * 1000 * 60 * 60 * 24);
System.out.println(m+"Delivery date");
return m;
}
public java.util.Date getRemDate() {
Date m1=new Date();
double d;
d=(multiply/consumption);
int days= (int) d-2;
System.out.println("rem days "+ days);
m1.setTime(m1.getTime() + days * 1000 * 60 * 60 * 24);
System.out.println(m1+"Remember date");
return m1;
//return remdate;
}
表示multiply = 21
和consumption = 2
的输入值
输出是(正确如下)
ticket date Wed Oct 02 21:43:56 IST 2013
del days 10
Sat Oct 12 21:43:56 IST 2013Delivery date
rem days 8
表示multiply = 35
和consumption = 1
的输入值
输出是(错误如下,显示旧日期)
ticket date Wed Oct 02 21:52:07 IST 2013
del days 35
Wed Sep 18 04:49:20 IST 2013Delivery date
rem days 33
Mon Sep 16 04:49:20 IST 2013Remember date
表示multiply = 1
和consumption = 0.03
的输入值
输出是(错误如下,显示旧日期)
ticket date Wed Oct 02 21:26:56 IST 2013
del days 33
Mon Sep 16 04:24:09 IST 2013Delivery date //date here is sept?
rem days 31
Sat Sep 14 04:24:09 IST 2013Remember date
我如何计算正确的日期?
答案 0 :(得分:4)
我建议您使用日历。实现是java的一部分。
要添加天数或减去天数,请使用相同的方法add():
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
int days = 35;
// Add days
calendar.add(Calendar.DAY_OF_MONTH, days);
System.out.println(calendar.getTime());
}
如果您想减去天数,只需使用负数天。
答案 1 :(得分:1)
你落后于int的最大值,所以你得到一个负值:S
更改int days
long days
Y listo!