Comment puis-je convertir un objet de chaîne en un objet de date?
Je pense que je dois faire quelque chose comme ceci: P>
Date d=(some conversion ) "String "
8 Réponses :
SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
Date date = dateFormat.parse("1.1.2001");
For details refer to: SimpleDateFormat documentation
Je pense que vous manquez un 'y' ou deux.
Vous aviez raison, merci pour la note.
Vous devriez analyser la chaîne avec la classe SimpleDateFormat P>
Utilisez un SimpleDateDormat code> avec une chaîne de format, qui correspond à votre format réel:
Utilisez
Date date = DateFormat.getInstance.parse( dateString );
Cela ne vous donne aucun contrôle sur ce que le format de la chaîne devrait ressembler, il est donc peu probable que cela soit utile. Meilleure utilisation SimpleDateFormat code>, ce qui vous permet de spécifier le format à attendre.
La conversion de date à chaîne est une opération d'analyse relativement complexe, et non quelque chose que vous pouvez faire avec une simple distribution comme vous essayez.
Vous devrez utiliser un DateFormat . Il peut être aussi simple que: p> mais cela modifie le format de date prévu en fonction des paramètres locaux de la machine. Si vous avez un format de date spécifique, vous pouvez utiliser SimpleDateDeformat < / a>: p> Notez que la méthode d'analyse s'attendra toujours à un format spécifique et n'essaiera pas de deviner ce qui pourrait être signifié s'il reçoit un format différent. p> p>
Vous pouvez convertir l'objet de chaîne en objet de date à l'aide de cette méthode. Et ce code Java est testé et exécuté composant dans mon environnement.
public static Date parseStringAsDate(String dateStr, String format) throws ParseException
{
if(null==dateStr || "".equals(dateStr))
throw new IllegalArgumentException("dateStr must not be null or empty");
DateFormat df = new SimpleDateFormat(format);
return df.parse(dateStr);
}