我需要将Java LocalDateTime
字段更新为Postgres表,其中该字段是带有时区的时间戳,但是要注意的是我必须将时间字段设置为00:00:00 + 00并保持日期字段不变。
我已经像这样修改了Java中的字段
dateToBeSet.withNano(00).withSecond(00).withMinute(00).withHour(00)
但是当数据被插入数据库时,在日志中我可以看到数据被插入为2019-01-23 00:00:00+05:30
。
我该如何摆脱这个+5:30
而只是插入从Java端获取的数据?
数据库中的期望值为 2019-01-23 00:00:00+00
答案 0 :(得分:0)
您无法摆脱数据库中的时区,因为它没有存储在该时区。
内部存储的是UTC时间戳,当它转换为字符串时,它将转换为timezone
参数所指示的时区。
因此,如果希望时间戳记相同,则无论当前timezone
的设置如何,都需要使用timestamp without time zone
数据类型。
或者,使用构造检索值
ts_field AT TIME ZONE 'IST'
使用您要在其中呈现时间戳的时区名称。