首页javadate_convertJava Data Type - 如何将LocalTime转换为java.util.Date

Java Data Type - 如何将LocalTime转换为java.util.Date

我们想知道如何将LocalTime转换为java.util.Date。
import java.math.BigInteger;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.ZoneId;
import java.util.Date;

public class Main {

  public static void main(String[] args) {
    LocalTime d = LocalTime.now();

    System.out.println(toDate(d));

  }

  public static Date toDate(LocalTime localTime) {
    Instant instant = localTime.atDate(LocalDate.now())
        .atZone(ZoneId.systemDefault()).toInstant();
    return toDate(instant);
  }

  public static Date toDate(Instant instant) {
    BigInteger milis = BigInteger.valueOf(instant.getEpochSecond()).multiply(
        BigInteger.valueOf(1000));
    milis = milis.add(BigInteger.valueOf(instant.getNano()).divide(
        BigInteger.valueOf(1_000_000)));
    return new Date(milis.longValue());
  }
}