1. ホーム
  2. java

[解決済み] LocalDateをLocalDateTimeまたはjava.sql.Timestampに変換する

2022-05-05 02:55:47

質問

JodaTime 1.6.2を使っています。

私の場合は LocalDate に変換する必要があります。 LocalDateTime または java.sqlTimestamp を使用します。

の間で変換する方法を考え出したからです。 LocalDateTimejava.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 . 正しい方向への示唆をありがとうございます。

解決方法は?

JodaTime

JodaTimeの org.joda.time.LocalDate から java.sql.Timestamp を行うだけです。

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

JodaTimeの org.joda.time.LocalDateTime から java.sql.Timestamp を行うだけです。

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


JavaTime

Java8の java.time.LocalDate から java.sql.Timestamp を行うだけです。

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

Java8の java.time.LocalDateTime から java.sql.Timestamp を行うだけです。

Timestamp timestamp = Timestamp.valueOf(localDateTime);