获取SimpleDateTime格式的异常

时间:2012-11-27 11:59:25

标签: java swing date-format simpledateformat

在每件事情都工作正常之前,我得到了例外

    Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Unterminated quote
at java.text.SimpleDateFormat.compile(SimpleDateFormat.java:859)
at java.text.SimpleDateFormat.initialize(SimpleDateFormat.java:659)
at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:585)
at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:560)
at Utilities.Utility.DateColumnFormatParser(Utility.java:2149)
at jewelleryerpapplication.GUI.Gold.IssueToAssembling$9.actionPerformed(IssueToAssembling.java:921)

格式有什么问题

代码

String currentFormat= "dd'-'MM'-'yyyy' 'hh':'mm':'ss' 'a'";
SimpleDateFormat fromUser = new SimpleDateFormat(currentFormat);

我不知道为什么会这样。

3 个答案:

答案 0 :(得分:1)

有一个Unterminated quote。 String中的第一个字符必须是'

String currentFormat = "'dd'-'MM'-'yyyy' 'hh':'mm':'ss' 'a'";

我不确定格式中是否允许使用这些单引号。尝试从表达式中删除它们。

答案 1 :(得分:1)

您在格式字符串的开头就缺少单引号:

String currentFormat= "'dd'-'MM'-'yyyy' 'hh':'mm':'ss' 'a'";

答案 2 :(得分:1)

如果您引用破折号等,我认为您的模式必须为"dd'-'MM'-'yyyy' 'hh':'mm':'ss' 'a"

即。你有一个尾随的单引号。

事实上我不确定你是否需要报价。以下工作正常。

String currentFormat = "dd-MM-yyyy hh:mm:ss a";

来自doc:

  

在日期和时间模式字符串中,从“A”到“Z”的不带引号的字母   从'a'到'z'被解释为代表的模式字母   日期或时间字符串的组成部分。可以使用引用文本   单引号(')以避免解释

并且您不需要引用您的空格,破折号等。