Vex*_*toR 4 java date java-8 java-time
这一年2014我想要展示4和为2029 -> 9
我知道如何格式化4位=> yyyy和两位=>yy
但我无法理解,如何用最后一个数字来做
DateTimeFormatter.ofPattern("yMMdd"); //returns 20151020. I want just 51020
Run Code Online (Sandbox Code Playgroud)
您可以通过构建自己的DateTimeFormatter(并且不依赖于计算模式演变时可能失败的子字符串)来完成此操作,如下所示:
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
.appendValueReduced(ChronoField.YEAR, 1, 1, 0)
.appendPattern("MMdd")
.toFormatter();
System.out.println(LocalDate.now().format(formatter)); // prints 51020
System.out.println(LocalDate.of(2029, 1, 1).format(formatter)); // prints 90101
Run Code Online (Sandbox Code Playgroud)
但是,此格式化程序只能用于格式化LocalDate,不能用于解析LocalDate.
appendValueReduced用于格式化时间字段的减少值.在这种情况下,我们附加一个固定宽度为1的值,并说基值为0(这样,有效值将介于0和9之间).
| 归档时间: |
|
| 查看次数: |
1153 次 |
| 最近记录: |