Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将带时区的PostgreSQL时间戳转换为DateTime?_Java_Postgresql_Timestamp_Jodatime - Fatal编程技术网

Java 如何将带时区的PostgreSQL时间戳转换为DateTime?

Java 如何将带时区的PostgreSQL时间戳转换为DateTime?,java,postgresql,timestamp,jodatime,Java,Postgresql,Timestamp,Jodatime,这是我在申请表中得到的日期: String psqlDate = "2013-11-17 14:08:33+01"; 将psqlDate转换为jodaDateTime的最佳方式是什么 [编辑] 我可以使用DateTime方法。它可以与时间戳配合使用,时间戳通过T-2013-11-17T14:08:33+01将日期和时间信息分开 这应该适用于良好的模式: DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd..."

这是我在申请表中得到的日期:

String psqlDate = "2013-11-17 14:08:33+01";
psqlDate
转换为joda
DateTime
的最佳方式是什么

[编辑]

我可以使用
DateTime
方法。它可以与时间戳配合使用,时间戳通过T-
2013-11-17T14:08:33+01将日期和时间信息分开

这应该适用于良好的模式:

DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd...");
DateTime dt = DateTime.parse((String) obj, formatter);
带时区的PostgreSQL时间戳的正确模式是什么

    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);
输出:

    Sun Nov 17 14:08:33 IST 2013
比如: SimpleDataFormat(“yyyy/mm/dd HH:mm:ss”).parse()
要将其转换为java对象,这里有一个真正的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);

您的代码看到日期是
字符串,而不是
java.sql.date
。您如何从数据库中获取此信息?换句话说,为什么不首先选择
作为
日期
?然后,您可以从
java.sql.Date
/
java.util.Date
使用JodaTime的转换例程。我不会直接从PostgreSQL获取数据。我从卡夫卡获取JSON格式的数据。获取时区信息的正确模式是什么?