我知道有几个关于此的问题。但是我对特定的日期模式有疑问。这是一个例子:
20130401100000[-03:EST]
我遇到了麻烦,-03
因为根据SimpleDateFormat
文档,它应该有 4 位数字。我最接近的模式是这样的:
yyyyMMddHHmmss'['Z':'z']'
但是由于是2位数字,它就行不通了。这是我用于测试的代码示例:
public static void main(String[] args) throws ParseException {
String input = "20130401100000[-03:EST]";
DateFormat df = new SimpleDateFormat("yyyyMMddHHmmss'['Z':'z']'");
df.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println(df.format(new Date()));
System.out.println(df.parse(input));
}
当我打印new Date()
我得到这个:
20130528155734[+0000:GMT]
但是当我尝试解析时,input
我得到以下异常:
Exception in thread "main" java.text.ParseException: Unparseable date: "20130401100000[-03:EST]"
at java.text.DateFormat.parse(DateFormat.java:337)
at Teste.main(Teste.java:17)