0

我想显示例如 31-12-1999 年 ac 和 31-12-(-)2000 年 bc 。我花了一些时间在 joda api 上,例如:

new DateTimeFormatterBuilder().appendYear(4, 10).appendLiteral("-").appendMonthOfYear(2).appendLiteral("-").appendDayOfMonth(2).toFormatter();

但我找不到关于这个特定愿望的任何细节。

4

1 回答 1

1

对于 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.

于 2009-08-26T07:01:21.190 回答