我刚查了API,原因,它要加减 1900 年那么,生成与分解指定的日期,究竟用什么方法好?Date.getYear() 会减1900年

解决方案 »

  1.   

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    try {
    customDate = sdf.parse("2000-02-29");
    } catch(Exception e) {

    }
    System.out.println(customDate);这样倒是可以生成指定的日期了。可是,怎么提取出年月日时分秒等
    怎么加减年月日时分秒等呢?
      

  2.   

    Calendar类对时间操作挺全的,查一下!!
      

  3.   

    private static  char   DAY_DELIMITER  = '-';
      public  static  int    YEAR           = Calendar.YEAR;
      public  static  int    MONTH          = Calendar.MONDAY;
      public  static  int    DAY            = Calendar.DAY_OF_MONTH;
      public  static  int    HOUR           = Calendar.HOUR_OF_DAY;
      public  static  int    MINUTE         = Calendar.MINUTE;
      public  static  int    SECOND         = Calendar.SECOND;  Calendar calendar = new GregorianCalendar(Integer.parseInt(datetime.substring(0,4)),
                                                Integer.parseInt(datetime.substring(5,7))-1,
                                                Integer.parseInt(datetime.substring(8,10)),
                                                Integer.parseInt(datetime.substring(11,13)),
                                                Integer.parseInt(datetime.substring(14,16)),
                                                Integer.parseInt(datetime.substring(17,19))
                                                );private  static String getDateTime(Calendar calendar)
      {
        StringBuffer buf = new StringBuffer("");    buf.append(calendar.get(calendar.YEAR));
        buf.append(DAY_DELIMITER);
        buf.append(calendar.get(calendar.MONTH)+1>9?calendar.get(calendar.MONTH)+1+"":"0"+(calendar.get(calendar.MONTH)+1));
        buf.append(DAY_DELIMITER);
        buf.append(calendar.get(calendar.DAY_OF_MONTH)>9?calendar.get(calendar.DAY_OF_MONTH)+"":"0"+calendar.get(calendar.DAY_OF_MONTH));
        buf.append(" ");
        buf.append(calendar.get(calendar.HOUR_OF_DAY)>9?calendar.get(calendar.HOUR_OF_DAY)+"":"0"+calendar.get(calendar.HOUR_OF_DAY));
        buf.append(":");
        buf.append(calendar.get(calendar.MINUTE)>9?calendar.get(calendar.MINUTE)+"":"0"+calendar.get(calendar.MINUTE));
        buf.append(":");
        buf.append(calendar.get(calendar.SECOND)>9?calendar.get(calendar.SECOND)+"":"0"+calendar.get(calendar.SECOND));
        return buf.toString();
      }@return YYYY-MM-DD HH:MM:DD
      

  4.   

    用Calendar这个类,sun不推荐用Date这个类生成日期
      

  5.   

    java.util.Calendar calendar = java.util.Calendar.getInstance();
    calendar.set(2000, 1, 29);
    System.out.println(calendar.getTime());
    输出即为:Tue Feb 29 11:10:09 CST 2000。
    需要注意:Month value is 0-based. e.g., 0 for January.