为什么SimpleDateFormat在Mac OS X 10.6.5上不起作用?

时间:2012-01-26 19:21:31

标签: java windows macos swing

我在Windows上编写了一个Java(Swing)应用程序,并尝试在Mac上运行它。但是我的程序在SimpleDataFormat构造函数处停止了。

为什么会这样?

我还有另一个问题。我可以使用什么代替SimpleDataFormat

        SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm | dd.MM.YYYY");
        Date dateLastUpdate = dateFormat.parse(lastUpdate.getValue());
        AccountInfo accInfo = new AccountInfo(accNumber, apiName, securityWord);

第一行不执行。日期恰好是必要的格式。

2 个答案:

答案 0 :(得分:1)

您的解析格式应为

"HH:mm '|' dd.MM.yyyy"

自'|'在没有解释的情况下被解析器吞噬。

关于替换,如果您需要替换,请查看Joda Time中的DateTimeFormatterBuilder

答案 1 :(得分:1)

我认为您的格式字符串不适用于任何计算机。请注意,年份用小写字母'y'表示,你用大写字母表示。请尝试以下代码:

   @Test
   public void testRandomDate() throws Exception {
      final String lastUpdateValue = "13:23 | 26.01.2012";
      final SimpleDateFormat dateFormat = new SimpleDateFormat(
            "HH:mm | dd.MM.yyyy");
      final Date dateLastUpdate = dateFormat.parse(lastUpdateValue);

      System.out.println(dateLastUpdate);
   }

另外,参考SimpleDateFormat文档以获取可接受的解析表达式列表: