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
用Calendar这个类,sun不推荐用Date这个类生成日期
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.
try {
customDate = sdf.parse("2000-02-29");
} catch(Exception e) {
}
System.out.println(customDate);这样倒是可以生成指定的日期了。可是,怎么提取出年月日时分秒等
怎么加减年月日时分秒等呢?
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
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.