Java localDateTeme 转换为 Date

时间:2020-02-23 14:35:04  来源:igfitidea点击:

在本教程中,我们将看到如何转换 LocalDateTimeDate
Java 8在日期和时间推出了很多新的API。

可以有很多方法可以将LocalDateTime转换为 date

使用Instant对象

我们可以使用迄今使用localDateTime转换 Instant我们可以的对象 ZonedDateTime
这是同一个的代码:

Date convertLocalDateTimeToDateUsingInstant(LocalDateTime dateToConvert) {
    return java.util.Date
      .from(dateToConvert.atZone(ZoneId.systemDefault())
      .toInstant());
}

使用时间戳

这是在Java 8中将LocalDateTime转换为日期的最简单方法。

我们可以用 java.sql.Timestamp转换 LocalDateTimeDate
获取java.util.date的最简单方法是从localDateTime使用扩展 java.sql.Timestamp- 可使用Java 8:

public Date convertLocalDateTimeToDateUsingTimestamp(LocalDateTime dateToConvert) {
    return java.sql.Timestamp.valueOf(dateToConvert);
}

以下是要在LocalDateTime之间转换到日期的完整程序。

package org.igi.theitroad;
 
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;
 
public class LocalDateTimeToDateMain {
 
	public static void main(String[] args) {
		LocalDateTime ldt = LocalDateTime.now();
		Date dt1=convertLocalDateTimeToDateUsingInstant(ldt);
		System.out.println(dt1);
		System.out.println("=====================");
		Date dt2=convertLocalDateTimeToDateUsingTimestamp(ldt);
		System.out.println(dt2);
	}
 
	public static Date convertLocalDateTimeToDateUsingInstant(LocalDateTime localDateTime) {
	    return Date
	      .from(localDateTime.atZone(ZoneId.systemDefault())
	      .toInstant());
	}
	
	public static Date convertLocalDateTimeToDateUsingTimestamp(LocalDateTime localDateTime) {
	    return Timestamp.valueOf(localDateTime);
	}
}

输出:

Sun Apr 14 00:47:05 IST 2019
=====================
2019-04-14 00:47:05.179772