0

我正在使用基于 java 的工具,并且有一个日期格式的配置选项,我已将其设置为“MM/dd/yy hh:mma”,但显然预期为“am”或“pm”,而不是“a”或“ p' 因为输入日期未被识别。例如 2008 年 12 月 31 日下午 3:28

这种特定格式是否有这样的 SimpleDateFormat 规范?(我假设正在使用这种 Java 方法。)接下来我会询问工具供应商,但 SO 似乎是“去”的地方!

TIA

4

2 回答 2

3

你可以这样做

public static void main(String[] args) throws ParseException {
    DateFormatSymbols instance = DateFormatSymbols.getInstance();
    instance.setAmPmStrings(new String[]{"a","p"});
    SimpleDateFormat format = new SimpleDateFormat("MM/dd/yy hh:mma",instance);
    Date parsedDate = format.parse("12/31/2008 3:28p");
    System.out.println(parsedDate);

}
于 2010-07-01T17:52:31.740 回答
2

这不是您想听到的答案,但恐怕,如果您只被允许输入日期格式,那么您无能为力,除非您能以某种方式附加一个“M”。根据SimpleDateFormat的 javadoc 中的示例,单个“a”接受 AM 或 PM。

于 2010-07-01T17:51:16.217 回答