我正在尝试使用预处理语句向我的数据库的带有时区时间戳字段插入一个字符串,其中包括日期、时间和时区。
问题是Timestamp.valueof函数不考虑字符串中包含的时区,因此会导致错误。所接受的格式为yyyy-[m]m-[d]d hh:mm:ss[.f...],其中没有提到时区。
这是导致错误的确切代码:
pst.setTimestamp(2,Timestamp.valueOf("2012-08-24 14:00:00 +02:00"))
有没有办法克服这个问题呢?
提前致谢!
我正在尝试使用预处理语句向我的数据库的带有时区时间戳字段插入一个字符串,其中包括日期、时间和时区。
问题是Timestamp.valueof函数不考虑字符串中包含的时区,因此会导致错误。所接受的格式为yyyy-[m]m-[d]d hh:mm:ss[.f...],其中没有提到时区。
这是导致错误的确切代码:
pst.setTimestamp(2,Timestamp.valueOf("2012-08-24 14:00:00 +02:00"))
有没有办法克服这个问题呢?
提前致谢!
update foo
set ts_col = timestamp with time zone '2012-08-24 14:00:00 +02:00'`;
String sql = "update foo set ts_col = to_timestamp(?, 'yyyy-mm-dd hh24:mi:ss')";
PreparedStatement pstmt = connection.prepareStatement(sql);
pstmt.setString(1, "2012-08-24 14:00:00 +02:00");
我认为你可以在数据库中使用一个额外的字段,该字段包括时区信息。获取这两个字段后,手动计算时间。
to_timstamp()
的调用,而是必须遵循特定规则的时间戳文字。 - user330315+2
。 - user330315