Pregunta

Me gustaría para mostrar, por ejemplo, 31-12-1999 por años de CA y 31-12 - (-) 2000 años antes de Cristo. Pasé algún tiempo con, por ejemplo de la API de joda algo como:

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

pero no puedo encontrar ningún detalle acerca de este deseo específico.

¿Fue útil?

Solución

En el caso de AD:

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

En el caso BC:

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

A continuación, escriba una sentencia if antes de formatear.

Si desea una sola formateador para hacer esto se puede implementar DateTimePrinter y luego añadir que a DateTimeFormatterBuilder.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top