这是我在申请中的日期:
String psqlDate = "2013-11-17 14:08:33+01";
将psqlDate
转换为joda DateTime
的最佳方法是什么?
[编辑]
我可以使用DateTime
parse方法。它的工作正常,时间戳whitch已经用T - 2013-11-17T14:08:33+01
分割了有关日期和时间的信息。
这应该有良好的模式:
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd...");
DateTime dt = DateTime.parse((String) obj, formatter);
带时区的PostgreSQL时间戳的正确模式是什么?
答案 0 :(得分: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);
答案 1 :(得分:2)
你可以试试这个
String psqlDate = "2013-11-17 14:08:33+01";
Date date=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss'+'01").parse(psqlDate);
System.out.println(date);
Out put:
Sun Nov 17 14:08:33 IST 2013
答案 2 :(得分:0)
using the SimpleDateFormat 就像是: SimpleDateFormat(“yyyy / mm / dd HH:mm:ss”)。parse() 将其转换为java date对象