1

我有一个Stringwhich is 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 回答