将 LocalDate 转换为 LocalDateTime 或 java.sql.Timestamp

2022-01-13 00:00:00 timestamp java jodatime

我正在使用 JodaTime 1.6.2.

I am using JodaTime 1.6.2.

我有一个 LocalDate,我需要将其转换为 (Joda) LocalDateTimejava.sqlTimestamp 以进行映射.

I have a LocalDate that I need to convert to either a (Joda) LocalDateTime, or a java.sqlTimestamp for ormapping.

原因是我已经弄清楚如何在 LocalDateTimejava.sql.Timestamp 之间进行转换:

The reason for this is I have figured out how to convert between a LocalDateTime and a java.sql.Timestamp:

LocalDateTime ldt = new LocalDateTime();
DateTimeFormatter dtf = DateTimeFormatter.forPattern("yyyy-MM-dd HH:mm:ss");
Timestamp ts = Timestamp.valueOf(ldt.toString(dtf));

所以,如果我可以在 LocalDateLocalDateTime 之间进行转换,那么我可以继续转换为 java.sql.Timestamp.感谢您在正确方向上的任何推动!

So, if I can just convert between LocalDate and LocalDateTime, then I can make the continued conversion to java.sql.Timestamp. Thanks for any nudges in the right direction!

推荐答案

JodaTime

要转换 JodaTime 的 org.joda.time.LocalDatejava.sql.Timestamp,做就行了

Timestamp timestamp = new Timestamp(localDate.toDateTimeAtStartOfDay().getMillis());

要转换 JodaTime 的 org.joda.time.LocalDateTimejava.sql.Timestamp,做就行了

To convert JodaTime's org.joda.time.LocalDateTime to java.sql.Timestamp, just do

Timestamp timestamp = new Timestamp(localDateTime.toDateTime().getMillis());


Java时间

转换Java8的java.time.LocalDatejava.sql.Timestamp,就这么做

Timestamp timestamp = Timestamp.valueOf(localDate.atStartOfDay());

要转换 Java8 的 java.time.LocalDateTimejava.sql.Timestamp,就这么做

To convert Java8's java.time.LocalDateTime to java.sql.Timestamp, just do

Timestamp timestamp = Timestamp.valueOf(localDateTime);

相关文章