Java Api以数字形式返回日期时间如何使其成为正确的日期?

Java Api以数字形式返回日期时间如何使其成为正确的日期?,java,json,mongodb,spring-boot,Java,Json,Mongodb,Spring Boot,我使用的是一个外部api(使用MongoDB),它会向我发送如下日期格式: "documentDate": 1574283600000, 03/12/2019 我认为它的日期是: "documentDate" : ISODate("2019-02-28T00:00:00.000+03:00"), 但它会给我返回数字。我怎样才能让它成为这样一个合适的日期: "documentDate": 1574283600000, 03/12/2019 我将使用java.time,因为该值看起来像(而

我使用的是一个外部api(使用MongoDB),它会向我发送如下日期格式:

"documentDate": 1574283600000,
03/12/2019
我认为它的日期是:

"documentDate" : ISODate("2019-02-28T00:00:00.000+03:00"),
但它会给我返回数字。我怎样才能让它成为这样一个合适的日期:

"documentDate": 1574283600000,
03/12/2019

我将使用
java.time
,因为该值看起来像(而且很可能是)一个以历元毫秒计的时间点。您可以将其转换为
即时
,然后进一步将其转换为可识别偏移量或时区的datetime对象

看看这个:

public static void main(String[] args) {
    // your sample millis
    long documentDateInMillis = 1574283600000L;
    // parse it to a moment in time: an Instant
    Instant instant = Instant.ofEpochMilli(documentDateInMillis);
    // then create an offset aware datetime object by adding an actual offset
    OffsetDateTime odt = OffsetDateTime.ofInstant(instant, ZoneOffset.of("+03:00"));
    // print it in the default representation
    System.out.println("Default formatting:\t" + odt);
    // or in an ISO representation of the date only
    System.out.println("ISO local date:\t\t"
                        + odt.format(DateTimeFormatter.ISO_LOCAL_DATE));
    // or in a custom representation (date only, too)
    System.out.println("Custom formatting:\t"
                        + odt.format(DateTimeFormatter.ofPattern("dd/MM/yyyy")));
}
输出如下:

默认格式:2019-11-21T00:00+03:00
ISO本地日期:2019-11-21
自定义格式:2019年11月21日

我希望您的值示例不代表完全相同的日期或瞬间……在我看来,api返回的时间是1970年1月1日以来的毫秒。有数学来转换这样的东西。@deHaar不,它们不一样,只是一个例子谢谢你的回答,我不知道这是毫秒格式,我在这里找到了一个答案:I