Comment puis-je prendre un chaîne dans un format tel que: 2008-06-02 00:00:00.0
et le convertir en: 02-Jun-2008
? Puis-je d'une manière ou d'une autre prendre la chaîne d'origine, la convertir en objet Date, puis utiliser un formateur pour obtenir la sortie finale (plutôt que d'analyser moi-même la chaîne)? Merci!Date de conversion en Java
Répondre
Vous pouvez utiliser SimpleDateFormat
pour convertir un objet String
en un objet Date
et inversement en fonction d'un motif. Cliquez sur le lien API, vous verrez les modèles expliqués en détail. Une année à 4 chiffres peut être représentée avec yyyy
, une abréviation de mois de 3 caractères peut être représentée avec MMM
et ainsi de suite.
Vous devez d'abord Parse la String
du premier format en un objet Date
:
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Date date = sdf1.parse(inputString);
Ensuite, vous devez le format le Date
dans un String
du second format:
SimpleDateFormat sdf2 = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);
String outputString = sdf2.format(date);
Notez que vous devez prendre en compte le Locale
pour obtenir Le mois sera imprimé en anglais, sinon il utilisera les paramètres régionaux par défaut de la plate-forme pour traduire le mois.
Utilisez 2 instances de la classe SimpleDateFormat
. Un pour convertir votre chaîne d'entrée à date et seconde pour convertir la date en chaîne mais dans un autre format.
Voici un example of using SimpleDateFormat.
DateFormat startFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");
DateFormat endFormat = new SimpleDateFormat("dd-MM-yyyy");
String outputString = null;
try {
Date date = startFormat.parse(inputString);
outputString = endFormat.format(date);
} catch(ParseException pe) {
throw new IllegalArgumentException(inputString + " is not properly formated.", pe);
}
Vous pouvez certainement utiliser la classe SimpleDateFormat comme d'autres l'ont recommandé.
Une autre suggestion si elle s'applique dans votre cas. Si vous obtenez ces données à partir d'une requête sql, vous pouvez également utiliser la méthode to_char() pour la formater dans la requête elle-même. Par exemple: to_char (nom_colonne, 'DD-MON-YYYY')
- 1. Conversion d'une date en heure en Java
- 2. Blackberry Java Chaîne de conversion de date
- 3. conversion de format de date en utilisant Java
- 4. Java - Conversion d'un datetime en heure de calendrier grégorien (date)
- 5. DateTime Conversion en date
- 6. format de date en Java
- 7. Date de conversion JDBC en UTC
- 8. Conversion d'objet Date en TimeWithZone
- 9. Conversion de la fonction JavaScript en Java
- 10. Conversion de format de date en SQL
- 11. Conversion de données de texte en date
- 12. Conversion d'une date lisible par un humain en objet de date Java
- 13. PHP date de conversion
- 14. Paramètre date de conversion
- 15. Jython date de conversion
- 16. date de conversion/heure
- 17. Date Problème de conversion
- 18. Conversion de fuseau horaire GMT en java
- 19. date de conversion en SQL Server 2005
- 20. Date et heure de conversion en Ruby
- 21. Conversion de codage en Java
- 22. Conversion de Java en C#
- 23. Conversion de Java en C++
- 24. Conversion CPP en Java
- 25. Format de date en JAVA
- 26. Conversion de PDU en texte en Java
- 27. Conversion de XPS en Word en Java
- 28. Excel date de conversion chaîne
- 29. Date minimale en Java
- 30. date incorrecte en Java
votre requête 'puis-je en quelque sorte ....' est correcte. Enquêter sur ce chemin plus loin. – KevinDTimm
Personne n'a encore mentionné JodaTime. Cela doit être une première. –
@Paul: il a mentionné dans un commentaire qu'il ne voulait pas utiliser de bibliothèques externes :) C'était assez pour moi. – BalusC