Tôi làm cách nào để thực hiện chuyển đổi này trong Java?Chuyển đổi "Thứ Sáu, ngày 1 tháng 2 năm 2013" thành "2013-02-01"
Hiện nay, tôi đang làm:
public static String formatDate(String strDateToFormat) {
try {
SimpleDateFormat sdfSource = new SimpleDateFormat("EEEE, MMMM DD, YYYY");
Date date = sdfSource.parse(strDateToFormat);
SimpleDateFormat sdfDestination = new SimpleDateFormat("yyyy-MM-dd");
return sdfDestination.format(date);
} catch (ParseException pe) {
System.err.println("Parse Exception : " + pe);
}
return null;
}
Tuy nhiên, kết quả này trong một định dạng không đúng. Nó cung cấp cho tôi kết quả sau:
Friday, February 1, 2013 > 2013-01-04
Thursday, January 31, 2013 > 2013-01-03
Tại sao bạn lặp lại đầu ra cho hai giá trị quá nhiều lần? –
Thay đổi "DD" bằng "d" và "YYYY" theo "yyyy" –
Tôi sẽ thay thế 'System.err.println (" Parse Exception: "+ pe);' bằng 'pe.printStackTrace();'. Hoặc, tốt hơn, hãy ném ngoại lệ đó từ phương pháp của bạn. –