Java程序将LocalDate转换为java.util.Date
假设日期以LocalDate格式给出,我们的任务是编写一个Java程序将其转换为java.util.Date。对于此问题,我们需要通过将其与时间(例如午夜)或时区组合来向LocalDate添加时间信息。
既LocalDate和java.util.Date类都用于在Java中表示日期。但是,随着Java 8的发布而引入的LocalDate类表示不带时区信息的日期,而Date类是可变的,用于表示带有时区的日期和时间。
让我们通过一个示例来了解问题陈述。
示例场景
Input: localdate = 2019-04-19; Output: date = Fri Apr 19 00:00:00 IST 2019;
通过将LocalDate转换为Instant
在这种方法中,我们首先使用toInstant()方法将LocalDate转换为Instant,然后,我们使用Date.from()方法将Instant转换为Date。
示例
以下Java程序演示了如何将LocalDate转换为Date。
import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneId;
public class Demo {
public static void main(String[] args) {
LocalDate date = LocalDate.now();
System.out.println("LocalDate = " + date);
Instant i = date.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant();
System.out.println("java.util.Date = " + java.util.Date.from(i));
}
}
执行此代码后,将产生以下结果:
LocalDate = 2019-04-19 java.util.Date = Fri Apr 19 00:00:00 IST 2019
通过将LocalDate转换为Calendar
在这里,我们首先使用set()方法将LocalDate转换为Calendar,然后我们使用getTime()方法将Calendar转换为Date以获得最终结果。
示例
让我们看看实际演示:
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class LocalDateToDateUsingCalendar {
public static void main(String[] args) {
LocalDate locDate = LocalDate.now();
System.out.println("LocalDate = " + locDate);
Calendar calendar = new GregorianCalendar();
calendar.set(locDate.getYear(), locDate.getMonthValue() - 1, locDate.getDayOfMonth());
Date date = calendar.getTime();
System.out.println("java.util.Date = " + date);
}
}
运行此代码后,您将获得以下输出:
LocalDate = 2024-09-02 java.util.Date = Mon Sep 02 08:24:09 GMT 2024
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP