Vous utilisez les classes date de temps anciens gênants, héritage aujourd'hui, supplanté par les classes java.time.
Antigua-et-Barbuda
« Antigua-et-Barbuda - Code ISO3166 - AG » est pas un lieu pris en charge en Java 8. Voir la list of supported locales ou appelez:
System.out.println ("locales: " + Arrays.toString (Locale.getAvailableLocales()));
Vous pouvez construire votre propre liste des modèles de mise en forme explicites pour ces paramètres régionaux non pris en charge. Par exemple, DateTimeFormatter.ofPattern("dd/MM/yy")
.Mieux encore, définissez un Map
de chaque langue locale non définie en utilisant la chaîne de langue de pays telle que "en-AG" à Locale
similaire qui utilise les mêmes formats appropriés.
Ou de définir un Enum
pour chaque environnement local non défini avec des méthodes qui renvoient DateTimeFormatter
objets pour chaque longueur (FULL, SHORT, etc.).
Ou considérez le Answer by Comelissen, bien que je n'ai pas étudié assez bien pour le recommander encore.
République Dominicaine
« République Dominicaine - Code ISO3166 - DO » est pris en charge en Java 8.
Locale locale = new Locale ("es" , "DO"); // Spanish in Dominican Republic.
LocalDate localDate = LocalDate.now (ZoneId.of ("Europe/Paris"));
DateTimeFormatter f = DateTimeFormatter.ofLocalizedDate (FormatStyle.SHORT).withLocale (locale);
String output = localDate.format (f);
System.out.println ("localDate: " + localDate + " is " + output);
LOCALDATE: 16/02/2017 est 16/02/17
Le résultat est comme vous le souhaitez, jj/mm/aa.
A propos java.time
Le cadre java.time est construit en Java 8 et versions ultérieures. Ces classes supplantent les vieilles classes de date-heure legacy gênantes telles que java.util.Date
, Calendar
, & SimpleDateFormat
. Le projet Joda-Time, maintenant en maintenance mode, conseille la migration vers les classes java.time.
Pour en savoir plus, voir le Oracle Tutorial. Et recherchez Stack Overflow pour de nombreux exemples et explications. La spécification est JSR 310.
Où obtenir les classes java.time?
- Java SE 8 et SE 9 et plus tard
- intégré.
- Partie de l'API Java standard avec une implémentation groupée.
- Java 9 ajoute quelques fonctionnalités et corrections mineures.
- Java SE 6 et SE 7
- Une grande partie de la fonctionnalité de java.time est de retour à Java 6 Ported .
- Android
Le projet ThreeTen-Extra java.time étend avec des classes supplémentaires. Ce projet est un terrain d'essai pour d'éventuels ajouts futurs à java.time. Vous pouvez trouver ici des classes utiles telles que Interval
, YearWeek
, YearQuarter
et more.
Vous devrez peut-être créer votre propre 'DateFormat' avec la disposition correcte. –
Ensuite, c'est comme un codage dur. Je cherche une option pour fournir une approche basée sur XML qui peut passer le modèle de format de date/devise/nombre pour différents pays –