2013-09-16 28 views
2

使用joda-time 2.3,我试图解析具有时区信息的日期时间值。乔达时间异常由于时区:无效格式

下面是我的代码 -

import org.joda.time.DateTime; 
import org.joda.time.format.DateTimeFormat; 
import org.joda.time.format.DateTimeFormatter; 

public class App { 
    public static void main(String[] args) { 
     DateTime dt = new DateTime(); 
     DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy/MM/dd hh:mm:ss a z"); 
     String str = formatter.print(dt); 
     System.out.println(str); 

     DateTime date = formatter.parseDateTime(str); 
     System.out.println(date); 
    } 
} 

的pom.xml -

<dependency> 
    <groupId>joda-time</groupId> 
    <artifactId>joda-time</artifactId> 
    <version>2.3</version> 
</dependency> 

输出 -

2013/09/16 11:15:03 PM IST 
Exception in thread "main" java.lang.IllegalArgumentException: Invalid format: "2013/09/16 11:15:03 PM IST" is malformed at "IST" 
    at org.joda.time.format.DateTimeFormatter.parseDateTime(DateTimeFormatter.java:873) 
    at com.cmcltd.servermon.App.main(App.java:15) 

我不明白 - 使用格式化格式化模式当我使用DateTime对象将字符串解析为DateTime时,DateTime对象失败。这是Joda-Time或预期行为中的错误吗?

我可以使用什么格式的模式来解析输入日期“2013/09/16 11:15:03 PM IST”?

谢谢。

回答