0

我正在尝试将日期格式化为所需的格式。但我收到错误的日期。这就是我正在做的事情。

我收到的日期如下:

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"

它将月份确定为Jan而不是Mar ... y?提前致谢

4

1 回答 1

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

mm 表示小时中的分钟。你应该使用MM

尝试

SimpleDateFormat("MM/dd/yyyy hh:mm:ss a");
于 2012-03-25T14:40:44.923 回答