2

私は次の形式で日付を持っています:

Pon Cze 07, 2011 9:42 pm

ポーランド語で英語の日付に相当します。

Mon Jun 07, 2011 9:42 pm

次のSimpleDateFormatマッチャーを使用しています。

SimpleDateFormat("EEE MMM dd, yyyy H:mm a", new Locale("pl", "PL"))

ただし、AssertionFailedErrorのため、日付を解析できません。私は他の解決策を試しましたが、誰も私のために働きません。私が間違っていることについて何か考えがありますか?

4

2 に答える 2

3

2つの問題があります:

  1. 日はplロケールではwtなく、Pon
  2. Hの代わりに(0から23までの時間を意味する)を使用したため、AM/PMインジケーターは考慮されませんh

(「Pon」の解析を避けるために)最初の空白の後の最初の文字から解析し、。に置き換えHますh。パターンで:

DateFormat df = new SimpleDateFormat("MMM dd, yyyy h:mm a", new Locale("pl", "PL"));
Date d = df.parse(s.substring(s.indexOf(' ') + 1));
于 2011-09-26T09:10:59.650 に答える
1

理由が何であれ、曜日は 2 文字だけで表されるようです。このコードを試して、出力を確認してください

    SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd, yyyy H:mm a", new Locale("pl", "PL"));
    GregorianCalendar gc = new GregorianCalendar(new Locale("pl", "PL"));
    gc.setTime(new Date(System.currentTimeMillis()));
    System.out.println(sdf.format(gc.getTime()));

私の出力は次のとおりです。「Wt wrz 27, 2011 11:05 AM」

たぶん、2文字の平日を試してみるとうまくいくかもしれません

于 2011-09-26T09:08:18.620 に答える