解析armydate长号到LocalDate

ors*_*har -1 java jodatime java-8 java-time

我有一个很长的格式:
Long l = 20151228;

我想将它解析为LocalDate对象.

我怎样才能做到这一点?

Rea*_*tic 5

使用java.time,您可以将数字分解为各自的部分,并使用静态方法LocalDate.of从它们构建本地日期.

long militaryDate = 20151228L;
LocalDate ld = LocalDate.of((int) (militaryDate / 10000),
                            Month.of((int) (militaryDate / 100) % 100),
                            (int) (militaryDate % 100));

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

结果:

2015-12-28
Run Code Online (Sandbox Code Playgroud)