如何使用Java的SimpleDateFormat转换12/31/2008 3:28p

时间:2010-07-01 17:34:55

标签: java simpledateformat

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

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

TIA

2 个答案:

答案 0 :(得分: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);

}

答案 1 :(得分:2)

这不是你想听到的答案,但是我担心,如果你只被允许进入日期格式,那么除非你能以某种方式附加'M',否则你无能为力。基于SimpleDateFormat的javadoc中的示例,单个“a”接受AM或PM。