日期:2014-05-20  浏览次数:20797 次

日期加上一个整数得到一个新的日期该如何写???谢谢
RT

------解决方案--------------------
传说jdk中有Calendar类可以

------解决方案--------------------
Java code

 Calendar c = Calendar.getInstance();
        System.out.println(c.get(Calendar.DATE));
        c.add(Calendar.DATE, 1);
        System.out.println(c.get(Calendar.DATE));

------解决方案--------------------
lz 你描述清楚点
是往年+还是月+还是日+???

------解决方案--------------------
Calendar类

楼主可以参考一下JDK帮助文档

很容易的
------解决方案--------------------
Java code
public String DateAdd(String oldDate,int i){

        java.text.SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
        
        Date date = new Date();
        
        try {
            // 将字符串转换成时间类型
            date = sdf.parse(oldDate);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        Calendar calendar = Calendar.getInstance();

        calendar.setTime(date);
        
        calendar.add(Calendar.YEAR, i);//在年上加i 
        calendar.add(Calendar.MONTH, i);//在月份上加i 
        calendar.add(Calendar.DAY_OF_MONTH, i);//在天上加i 
        
        String newdate = sdf.format(calendar.getTime()); 
        
        System.out.println(newdate);
        
        return newdate;
    }

------解决方案--------------------
看我的代码,计算某个日期的前一天 
Java code


// 计算某个日期的后一天
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        try {
            Date aDate = formatter.parse(Oneday);// 任意日期,包括当前日期
            long myTime = (aDate.getTime() / 1000) + 1 * 60 * 60 * 24;// -1表示前一天,+1表示后一天,依次类推
            aDate.setTime(myTime * 1000);
            String strDay = formatter.format(aDate);
            System.out.print(strDay);
        } catch (Exception e) {
            e.printStackTrace();
        }


// 求2个日期的天数
    public static long DateDays(String date1, String date2)
            throws DataFormatException, ActivationException {

        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        long myTime;
        Date aDate2;
        Date aDate;
        long myTime2;
        long days = 0;
        try {
            aDate = formatter.parse(date1);// 任意日期,包括当前日期
            myTime = (aDate.getTime() / 1000);

            // SimpleDateFormat formatter =new SimpleDateFormat("yyyy-MM-dd");
            aDate2 = formatter.parse(date2);// 任意日期,包括当前日期
            myTime2 = (aDate2.getTime() / 1000);

            if (myTime > myTime2) {
                days = (myTime - myTime2) / (1 * 60 * 60 * 24);
            } else {
                days = (myTime2 - myTime) / (1 * 60 * 60 * 24);
            }

        } catch (Exception e) {
            e.printStackTrace();
        }

        return days;

    }