Java 8 将日期输出为 YYYY-MM-DD

use*_*180 3 java getter date

我在 Java 8 中有一个 getter,我将其设置为以下,问题是输出是Sat Jan 11 00:00:00 AEDT 2020

该类必须保留为 a DateStartDateis a LocalDate

public static Date getStartDate() {
    return Date.from(StartDate.atStartOfDay()
                      .atZone(ZoneId.systemDefault())
                      .toInstant());
}
Run Code Online (Sandbox Code Playgroud)

我需要它来返回值,因为YYYY-MM-DD我正在努力解决这个问题。

是的,这是一个任务。不知道我们被告知将其中一个设置为,Date另一个设置为 的逻辑LocalDate,除了惹恼我......

任何帮助表示赞赏。

小智 5

请尝试这个解决方案。

public static String getStartDate() {
    DateTimeFormatter oldPattern = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSz");
    DateTimeFormatter newPattern = DateTimeFormatter.ofPattern("yyyy-MM-dd");
    LocalDateTime datetime = LocalDateTime.parse(new Date().toInstant().toString(), oldPattern);
    return datetime.format(newPattern);
}
Run Code Online (Sandbox Code Playgroud)