1

私は を持ってStringいます2013-8-25, 16:33。今度はそれを に変換する必要がありDateます。この目的のために、私は以下を使用します:

Date mDate = new SimpleDateFormat("yyyy-MM-dd, HH:mm").parse("2013-8-25, 16:33");

次にString、適切なパターンを取得する必要があります。

private static final String DATE_PATTERN = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";

そして、ここに私がそれを行う方法があります:

  public static String convertDateToString(Date date) {
        String string = DateFormat.format(DATE_PATTERN, date).toString();
        Logger.logVerbose(TAG, "Date converted into String is " + string);
        return string;
    }

しかし:

Date converted into String is 2013-08-25THH:33:00.SSSZ

なぜ時間はまだHHですか?ありがとう!

4

1 に答える 1

1

との互換性の問題が発生していると思われますDateFormat。特に、ドキュメントから:

このクラスのフォーマット メソッドは、Unicode UTS #35 パターンのサブセットを実装します。このクラスで現在サポートされているサブセットには、次の形式の文字が含まれます: acdEHhLKkLMmsyz. API レベル 17 までは、adEhkMmszy のみがサポートされていました。このクラスは、下位互換性のために k を H であるかのように誤って実装していることに注意してください。

SimpleDateFormatこの問題を回避するために、フォーマットに使用することをお勧めします。

于 2013-09-25T13:59:16.847 に答える