Проблема с форматом Android SimpleDateFormat

Я пытаюсь отформатировать дату в требуемом формате. но я получаю неправильную дату. вот что я делаю.

Я получаю даты следующим образом:

3/24/2012 8:25:03 AM
3/23/2012 2:57:01 PM
3/15/2012 9:28:01 AM

И хочу показать их как

Sun, Mar 24
Sat, Mar 23
Tue, Mar 15

Код, который я использую, выглядит следующим образом:

SimpleDateFormat sourceFormat = new SimpleDateFormat("mm/dd/yyyy hh:mm:ss a");
SimpleDateFormat desiredFormat = new SimpleDateFormat("EE, MMM dd");

Date dt = sourceFormat.parse("3/24/2012 8:25:03 AM");
String desiredDateString1 = desiredFormat.format(dt)

dt = sourceFormat.parse("3/23/2012 2:57:01 PM");
String desiredDateString2 = desiredFormat.format(dt)

dt = sourceFormat.parse("3/15/2012 9:28:01 AM");
String desiredDateString3 = desiredFormat.format(dt)

Но вместо правильного вывода я получаю

desiredDateString1 = "Tue, Jan 24"
desiredDateString2 = "Mon, Jan 23"
desiredDateString3 = "Sun, Jan 15"

Он считает месяц январь вместо март ... y? заранее спасибо


person Aamir    schedule 25.03.2012    source источник


Ответы (1)


SimpleDateFormat("mm/dd/yyyy hh:mm:ss a");

мм означает минуту в часе. вы должны использовать ММ

попробуй с

SimpleDateFormat("MM/dd/yyyy hh:mm:ss a");
person Blackbelt    schedule 25.03.2012