2009-08-09 8 views
0

Je voudrais afficher par ex. 31-12-1999 pour les années ac et 31-12 - (-) 2000 pour les années bc. J'ai passé du temps avec le joda api par exemple. quelque chose comme:format années bc/ac différemment

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

mais je ne trouve pas de détails sur ce souhait spécifique.

Répondre

1

Pour le cas AD:

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

Pour le cas de la Colombie-Britannique:

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

ensuite écrire une instruction if avant le formatage.

Si vous souhaitez qu'un seul formateur effectue cette opération, vous pouvez implémenter DateTimePrinter, puis l'ajouter à DateTimeFormatterBuilder.

Questions connexes