如何将PostgreSQL时间戳与时区转换为DateTime?

Luk*_*jdu 2 java postgresql timestamp jodatime

这是我在申请中的日期:

String psqlDate = "2013-11-17 14:08:33+01";
Run Code Online (Sandbox Code Playgroud)

什么是转换psqlDate为joda的最佳方式DateTime

[编辑]

我可以使用DateTime parse方法.它与时间戳工作正常,因为它用T - 分割了关于日期和时间的信息2013-11-17T14:08:33+01.

这应该有良好的模式:

DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd...");
DateTime dt = DateTime.parse((String) obj, formatter);
Run Code Online (Sandbox Code Playgroud)

带时区的PostgreSQL时间戳的正确模式是什么?

Men*_*ild 5

这里有一个真正的Joda答案.你试过跟随模式org.joda.time.format.DateTimeFormat吗?

"yyyy-MM-dd HH:mm:ssZ"

我看到你的时区偏移仅以小时而非分钟来指定.所以也许你需要简单的预处理和双Z这样:

String psqlDate = "2013-11-17 14:08:33+01";
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ssZZ");
DateTime dt = DateTime.parse(psqlDate + ":00", formatter);
Run Code Online (Sandbox Code Playgroud)