我想显示例如 31-12-1999 年 ac 和 31-12-(-)2000 年 bc 。我花了一些时间在 joda api 上,例如:
new DateTimeFormatterBuilder().appendYear(4, 10).appendLiteral("-").appendMonthOfYear(2).appendLiteral("-").appendDayOfMonth(2).toFormatter();
但我找不到关于这个特定愿望的任何细节。
对于 AD 案例:
新的 DateTimeFormatterBuilder() .appendDayOfMonth(2).appendLiteral("-") .appendMonthOfYear(2).appendLiteral("-") .appendYear(4, 10).toFormatter();
对于 BC 案例:
新的 DateTimeFormatterBuilder() .appendDayOfMonth(2).appendLiteral("-") .appendMonthOfYear(2).appendLiteral("-(-)") .appendYear(4, 10).toFormatter();
然后在格式化之前写一个if语句。
如果您想要一个格式化程序来执行此操作,您可以实现DateTimePrinter
然后将其附加到DateTimeFormatterBuilder
.