你可以不需要用到getYear()方法啊,你的本意不就是将加了minutes之后的日期对象以你固定的格式返回到函数吗,可以这样做呀:你的日期格式既然已经定义了(formatter),那么你可以直接返回formatter.format(dt)即可

解决方案 »

  1. 其中formatter.format(dt)就是将日期对象按照formatter的日期格式转换成字符串,我试过了,一切ok:) msn:liuliliujian@hotmail.com有机会切磋,我也是初学
      

  2. Calendar cal = Calendar.getInstance();
                cal.setTime(new Date());
                int year = cal.get(Calendar.YEAR);
      

  3. Calendar now=Calendar.getInstance();          //日历对象
    Date time=new Date();                         //得到当前日期
    now.setTime(time);                            //设置进去
    System.out.println(now.get(Calendar.YEAR));   //返回日历对象的年
      

  4. 嗯,给改成这样了,多谢各位:
    /*时间加分钟
     * @author 杨瑞
     * @param strDate 时间
     * @param minutes 分钟数
     * @return 相加后的时间
     */
    public static String DateAdd(String strDate,int minutes){
    SimpleDateFormat formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm");
    ParsePosition pos = new ParsePosition(0);
    Date dt=formatter.parse(strDate,pos);
    long ltmp=dt.getTime();
    ltmp+=minutes*60*1000;
    //修改开始  byXX 2004-6-30  11:59:00
    Calendar MyCalendar=Calendar.getInstance();
    MyCalendar.setTimeInMillis(ltmp);         
    //dt.setTime(ltmp);

    String year,month,date,hour,minute;
    year=String.valueOf(1900+MyCalendar.get(Calendar.YEAR));
    month=String.valueOf(1+MyCalendar.get(Calendar.MONTH));
    if(month.length()==1)
    month="0"+month;
    date=String.valueOf(MyCalendar.get(Calendar.DATE));
    if(date.length()==1)
    date="0"+date;
    hour=String.valueOf(MyCalendar.get(Calendar.HOUR));
    if(hour.length()==1)
    hour="0"+hour;
    minute=String.valueOf(MyCalendar.get(Calendar.MINUTE));
    if(minute.length()==1)
    minute="0"+minute;
    //修改结束  byXX 2004-6-30  11:59:21
    return year+"-"+month+"-"+date+" "+hour+":"+minute;
    }
    /*时间减分钟
     * @author 杨瑞
     * @param strDate 时间
     * @param minutes 分钟数
     * @return 相减后的时间
     */
    public static String DateDiff(String strDate,int minutes){
    SimpleDateFormat formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm");
    ParsePosition pos = new ParsePosition(0);
    Date dt=formatter.parse(strDate,pos);
    long ltmp=dt.getTime();
    ltmp-=minutes*60*1000;
    //修改开始  byXX 2004-6-30  11:59:27
    Calendar MyCalendar=Calendar.getInstance();
    MyCalendar.setTimeInMillis(ltmp);         
    //dt.setTime(ltmp);

    String year,month,date,hour,minute;
    year=String.valueOf(1900+MyCalendar.get(Calendar.YEAR));
    month=String.valueOf(1+MyCalendar.get(Calendar.MONTH));
    if(month.length()==1)
    month="0"+month;
    date=String.valueOf(MyCalendar.get(Calendar.DATE));
    if(date.length()==1)
    date="0"+date;
    hour=String.valueOf(MyCalendar.get(Calendar.HOUR));
    if(hour.length()==1)
    hour="0"+hour;
    minute=String.valueOf(MyCalendar.get(Calendar.MINUTE));
    if(minute.length()==1)
    minute="0"+minute;
    //修改结束  byXX 2004-6-30  11:59:32
    return year+"-"+month+"-"+date+" "+hour+":"+minute;
    }
      

类似问题 »