在DateTimeFormatter
类文档定义了不同的符号u
为一年,y
一年的时代:https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#patterns
年份和年份之间有什么区别?
在DateTimeFormatter
类文档定义了不同的符号u
为一年,y
一年的时代:https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#patterns
年份和年份之间有什么区别?
uuuu
与在Javayyyy
中DateTimeFormatter
格式化模式代码相比?
Answers:
答案在于IsoChronology文档
u
会给你多产的一年。
y
会给你时代的一年。
这种差异对于卑诗省的岁月来说尤为重要。实际的第0年是公元前1年,其后是第1年,即公元1年。多产的年份可以为负,时代的年份不能为负。
以下是有助于您直观了解其工作原理的代码段:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("'proleptic' : u '= era:' y G");
for (int i = 5; i > -6 ; i--) {
LocalDate localDate = LocalDate.of(i, 3, 14);
System.out.println(formatter.format(localDate));
}
输出:
proleptic : 5 = era: 5 AD
proleptic : 4 = era: 4 AD
proleptic : 3 = era: 3 AD
proleptic : 2 = era: 2 AD
proleptic : 1 = era: 1 AD
proleptic : 0 = era: 1 BC
proleptic : -1 = era: 2 BC
proleptic : -2 = era: 3 BC
proleptic : -3 = era: 4 BC
proleptic : -4 = era: 5 BC
proleptic : -5 = era: 6 BC