以YYYYMMDD格式获取当前日期的最简单方法是什么?

ron*_*hen 5 java

以及如何将其打印为字符串.

我尝试了这个,但我得到了(YYYMMMMDDD HHSSMM)格式的日期:

System.out.println(LocalDateTime.now());
Run Code Online (Sandbox Code Playgroud)

以(YYYYMMDD)格式获取当前日期的最简单方法是什么?

use*_*383 13

那是你在找什么?

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("YYYYMMdd");
System.out.println(LocalDate.now().format(formatter));
Run Code Online (Sandbox Code Playgroud)

  • 这,或者只是[`DateTimeFormatter.BASIC_ISO_DATE`](http://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#BASIC_ISO_DATE),而不是格式化程序的创建。 (2认同)
  • 大写的`YYYY` 是错误的,你需要小写的`yyyy` 代表时代,或者`uuuu` 代表(签名)年份。 (2认同)

mar*_*rea 8

这是一个非常古老的问题,但每次都会让我困惑。现在有一种更简单的方法:

String now = Instant.now().atZone(ZoneOffset.UTC).format(DateTimeFormatter.ISO_LOCAL_DATE);
System.out.println(now);
Run Code Online (Sandbox Code Playgroud)

输出:2020-07-09


Jac*_*III 7

这可以解决问题,但可能并非最简单:

import java.util.*;
import java.text.*;

class Test {
    public static void main (String[] args) {
        DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
        Date date = new Date();
        System.out.println(dateFormat.format(date));
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 在2015年,我希望使用java.time包来查看默认答案,而不是过时的Date类和朋友。 (4认同)
  • 我看到您在这里的每个答案下发表评论,但我还没有看到您的答案。想分享吗? (4认同)
  • 当询问 [​​`java.time`,现代 Java 日期和时间 API,](https://docs.oracle.com/javase/tutorial/datetime/) 中的 `LocalDateTime` 时,请不要引入长的过时且非常麻烦的“SimpleDateFormat”类。今天,我们在 java.time 及其“DateTimeFormatter”中有了更好的表现。 (3认同)

tmx*_*tmx 5

DateTimeFormatter.BASIC_ISO_DATE.format(LocalDate.now());
Run Code Online (Sandbox Code Playgroud)