日期:2014-05-17  浏览次数:20679 次

javaBean 里面获取系统时间出错
javaBean 里面获取系统时间出错
Java code
    
          public String gettime()
    {
       Calendar cal=Calendar.getInstance();
       int year=cal.get(Calendar.YEAR);
       int month=cal.get(Calendar.MONTH);
       int date=cal.get(Calendar.DAY_OF_MONTH);  
       int hour=cal.get(Calendar.HOUR_OF_DAY);
       int minute=cal.get(Calendar.MINUTE);
       String year1=String.valueOf(year);
       String month1=String.valueOf(month);
       String date1=String.valueOf(date);
       String hour1=String.valueOf(hour);
       String minute1=String.valueOf(minute);
       return (year1+"-"+month1+"-"+date1+" "+hour1+":"+minute1);
       
    }

这个获取的时间少一个月,且时间也少了8个钟
Java code
public String gettime()
   {
      SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");//设置日期格式
      return df.format(new Date());// new Date()为获取当前系统时间
   }

这个月份正确,时间也是少了8个钟

为什么会这样的?

------解决方案--------------------
因为 Calendar 类的月份是从0开始的,所以会少一个月,至于分钟为什么会少,也许是时区的问题吧,不知道LZ用的什么操作系统,为什么我从来就没碰到够分钟不对的情况呢
------解决方案--------------------
查API吧 java.util 类 Calendar MONTH 第一个月是 JANUARY,它为 0 所以比真正月份少1