SC-202004030939_20200902-潘旭
日志
问题:
问题内容:想试试用 java.util.Calendar转换成java.time.LocalDateTime 。calendar类也有toInstant方法,但Calendar是个抽象类不能实例化。
问题来源:
解决问题:,所以我实例化了Calendar的具体子类GregorianCalendar实现了转换。
public static void main(String[] args) {
Calendar calendar = new GregorianCalendar();
//GregorianCalendar具体类实现了calendar类的抽象方法
System.out.println(calendar);
Instant instant = calendar.toInstant() ;
System.out.println( "Instant[ " + instant + "]");
System.out.println("----------------------");
ZoneId zone = ZoneId.systemDefault(); // 根据OS确定的时区,
ZonedDateTime zdt = instant.atZone( zone );//将此瞬间与时区结合起来以创建一个ZonedDateTime。
System.out.println( "ZonedDateTime[ " + zdt + "]");
System.out.println("----------------------");
//这将返回LocalDateTime与该日期时间相同的年,月,日和时间的。
LocalDateTime datetime = zdt.toLocalDateTime() ;
// LocalDateTime = LocalDate + LocalTime
System.out.println( "LocalDateTime[ " + datetime + "]");
}
吐槽:
今天的内容有点绕,大脑差点就死机了!
点赞