如何在 Java 中将 Date 对象转换为 LocalDate 对象?
在 Java 中将Date 对象转换为 LocalDate 对象 −
使用 toInstant() 方法将获取的 date 对象转换为 Instant 对象。
Instant instant = date.toInstant();
使用 Instant 类中的 atZone() 方法创建 ZonedDateTime 对象。
ZonedDateTime zone = instant.atZone(ZoneId.systemDefault());
最后,使用 toLocalDate() 方法将 ZonedDateTime 对象转换为 LocalDate 对象。
LocalDate givenDate = zone.toLocalDate();
示例
以下示例从用户处以字符串格式接收姓名和出生日期,然后将其转换为LocalDate 对象并打印出来。
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.Date;
import java.util.Scanner;
public class DateToLocalDate {
public static void main(String args[]) throws ParseException {
//Reading name and date of birth from the user
Scanner sc = new Scanner(System.in);
System.out.println("Enter your name: ");
String name = sc.next();
System.out.println("Enter your date of birth (dd-MM-yyyy): ");
String dob = sc.next();
//Converting String to Date
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
Date date = formatter.parse(dob);
//Converting obtained Date object to LocalDate object
Instant instant = date.toInstant();
ZonedDateTime zone = instant.atZone(ZoneId.systemDefault());
LocalDate localDate = zone.toLocalDate();
System.out.println("Local format of the given date of birth String: "+localDate);
}
}输出
Enter your name: Krishna Enter your date of birth (dd-MM-yyyy): 26-09-1989 Local format of the given date of birth String: 1989-09-26
广告
数据结构
网络连接
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP