我知道有些关于java.util.Date和Joda-Time的问题。但经过一番挖掘,我找不到一个关于java之间差异的帖子。time API (Java 8中新增,由JSR 310定义)和Joda-Time。

我听说Java 8是Java。time API比Joda-Time更干净,可以做更多的事情。但我找不到比较这两者的例子。

什么可以java。时间做不到的事,时间做不到? 什么可以java。时间胜过joda时间? java.time的性能更好吗?

我有一个外部API,它返回我的时间长度,表示为Epoch开始以来的毫秒数。

使用旧风格的Java API,我将简单地从它构造一个Date

Date myDate = new Date(startDateLong)

在Java 8的LocalDate/LocalDateTime类中有什么等价的?

我感兴趣的是将long表示的时间点转换为当前本地时区中的LocalDate。

我如何使用杰克逊JSON映射与Java 8 LocalDateTime?

jsonmappingexception:不能实例化类型[简单类型,java.time类]的值。LocalDateTime] from JSON字符串;没有单字符串构造函数/工厂方法(通过引用链:MyDTO["field1"]->SubDTO["date"])

我试图使用新的Java 8日期和时间API和以下模式格式化一个即时字符串:

Instant instant = ...;
String out = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(instant);

使用上面的代码,我得到了一个异常,抱怨一个不支持的字段:

java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: YearOfEra
    at java.time.Instant.getLong(Instant.java:608)
    at java.time.format.DateTimePrintContext.getValue(DateTimePrintContext.java:298)
    ...

我知道有很多关于如何在Java中获取日期的问题,但我想要一个使用新的Java 8日期API的例子。我也知道JodaTime库,但我想要一个不依赖于外部库的方法。

该函数需要符合以下限制:

从日期保存时间防止错误 输入是两个日期对象(没有时间,我知道LocalDateTime,但我需要用日期实例这样做)

我想知道是否有一种方法可以使用Java 8的新的LocalDate, LocalTime或LocalDateTime类来获取自1-1-1970 (epoch)以来的当前毫秒。

已知的方法如下:

long currentMilliseconds = new Date().getTime();

or

long currentMilliseconds = System.currentTimeMillis();

我想将java.time.LocalDate转换为java.util.Date类型。因为我想将日期设置为JDateChooser。或者有任何日期选择器支持java。时间日期吗?

Java 8增加了一个新的Java。时间API,用于处理日期和时间(JSR 310)。

我将日期和时间作为字符串(例如,“2014-04-08 12:30”)。如何从给定的字符串获得LocalDateTime实例?

在我完成与LocalDateTime对象的工作后:然后如何将LocalDateTime实例转换回与上面所示的相同格式的字符串?

将java.util.Date对象转换为新的JDK 8/JSR-310 java.time.LocalDate的最佳方法是什么?

Date input = new Date();
LocalDate date = ???

Java 8有一个全新的日期和时间API。这个API中最有用的类之一是LocalDateTime,用于保存一个与时区无关的date-with-time值。

可能有数百万行代码使用遗留类java.util.Date来实现这个目的。因此,当新旧代码进行接口时,就需要在两者之间进行转换。由于似乎没有直接的方法来实现这一点,怎么能做到呢?