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