輸入字串 "2013-06-06 00:00:00",解析為只保留日期部分的 java.util.Date(或 java.sql.Date)。
String input = "2013-06-06 00:00:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date fullDate = sdf.parse(input); // 完整日期時間
// 若需只保留日期部分,可再格式化再解析
SimpleDateFormat dateOnly = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = dateOnly.format(fullDate);
Date date = dateOnly.parse(dateStr); // 時分秒歸零的 Date
System.out.println(date); // Thu Jun 06 00:00:00 CST 2013
} catch (ParseException e) {
e.printStackTrace();
}
LocalDateTime ldt = LocalDateTime.parse("2013-06-06T00:00:00", DateTimeFormatter.ISO_LOCAL_DATE_TIME);
LocalDate date = ldt.toLocalDate(); // 直接取日期部分
// 若需 java.util.Date
Date utilDate = Date.from(date.atStartOfDay(ZoneId.systemDefault()).toInstant());
mm 是分鐘,MM 才是月份;hh 12小時制,HH 24小時制。Jun vs 六月)。SimpleDateFormat 非執行緒安全,多執行緒環境請使用 ThreadLocal 或 Java 8 DateTimeFormatter。