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"

月を3ではなく1 月と見なします ... 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 に答える