java中的日期计算

时间:2011-10-20 10:14:34

标签: java date

我使用的日期格式为“MM / dd / yy” 我想执行像这样的操作:

LastActDate = Todaysdate -(PrchaseDate + 1) 

在myDb中,日期存储为2011-07-08 19:30:06(java util date

3 个答案:

答案 0 :(得分:2)

使用Calendar.add(int field, int amount)

  

将指定的时间量添加或减去给定日历   字段,基于日历的规则。

import java.util.GregorianCalendar;
import java.util.Calendar;

class AddDates {
    public static void main(String[] args) {

        Calendar today = new GregorianCalendar();
        Calendar purchased = new GregorianCalendar();

        purchased.add(Calendar.DAY_OF_MONTH, 1);

        Calendar lastActDate = new GregorianCalendar();
        lastActDate.setTimeInMillis(today.getTimeInMillis() - purchased.getTimeInMillis());
    }
}

答案 1 :(得分:1)

我强烈建议您使用joda library进行任何日期/时间计算。

您只需查看网站上的示例,即可轻松完成上述要完成的工作。

答案 2 :(得分:0)

这应该有效。假设+1是“加一天”。

try {
    String dateString = "10/20/11";

    SimpleDateFormat df = new SimpleDateFormat("MM/dd/yy");
    Date dt = df.parse(dateString);

    final long ONE_DAY = 1000 * 60 * 60 * 24;      
    Date lastActDate = new Date(System.currentTimeMillis() - (dt.getTime() + ONE_DAY));

    String lastActDateString = df.format(lastActDate);
}
catch ( ParseException pe ) {
    pe.printStackTrace();
}