Comment convertir 12/31/2008 3: 28p en utilisant la SimpleDateFormat Java
-
01-10-2019 - |
Question
J'utilise un outil basé sur Java et il y a une option de configuration pour un dateformat que je l'ai mis à « MM / jj / aa hh: mma » mais il est apparemment prévu « h » ou « pm », pas « un »ou « p » parce que les dates d'entrée ne sont pas reconnus. par exemple. 31.12.2008 3: 28p
Y at-il une telle spécification SimpleDateFormat pour ce format particulier? (Assomption de ma part que cette méthode Java est utilisé.) Je vais demander au vendeur de l'outil suivant, mais semble si être « le » endroit où aller!
TIA
La solution
Ce n'est pas la réponse que vous voulez entendre, mais je crains, si vous êtes seulement autorisé à entrer dans le dateformat, il n'y a rien que vous pouvez faire beaucoup à ce sujet, à moins que vous pouvez en quelque sorte ajouter un « M ». Sur la base de l'exemple dans le javadoc SimpleDateFormat , un 'a' accepte AM ou PM.
Autres conseils
vous pouvez le faire
public static void main(String[] args) throws ParseException {
DateFormatSymbols instance = DateFormatSymbols.getInstance();
instance.setAmPmStrings(new String[]{"a","p"});
SimpleDateFormat format = new SimpleDateFormat("MM/dd/yy hh:mma",instance);
Date parsedDate = format.parse("12/31/2008 3:28p");
System.out.println(parsedDate);
}