我在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);
第一行不执行。日期恰好是必要的格式。
答案 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文档以获取可接受的解析表达式列表: