【发布时间】:2020-06-27 10:24:47
【问题描述】:
我有以下代码,它使用 Joda 时间库从 sql Timestamp 对象中获取偏移量。
public static long getOffset(Chronology chronology_, Timestamp timeStamp_)
{
long offset = 0;
if (chronology_ != null)
{
offset = chronology_.getZone().getOffset(new DateTime(timeStamp_).getMillis());
}
return offset;
}
如何使用 Java 8 API 实现相同的功能。我不确定是否还需要年表。
【问题讨论】:
-
我认为在调用此方法之前可以解决问题,换句话说,您不需要从数据库中获取
Timestamp。如果你告诉我们如何获得timeStamp_也许我们可以提出一个合适的解决方案 -
这是一个实用程序代码,我有一个 sql 时间戳。我不控制我们如何获得时间戳
-
A
java.sql.Timestamp旨在无时区,除非它不是由于历史上糟糕的设计决策。您应该切换到使用java.time.LocalDateTime(或使用数据库中的时区类型到java.time.OffsetDateTime)。