Comment puis-je formater la chaîne de date "2010-07-14 09:00:02"
pour qu'elle représente uniquement "9:00"
?
Utilisez SimpleDateFormat
pour convertir une chaîne de date en un objet réel Date
. avec une Date
comme point de départ, vous pouvez facilement appliquer une mise en forme basée sur différents modèles définis dans le javadoc de la SimpleDateFormat
(cliquez sur le lien de code bleu pour la Javadoc).
Voici un exemple de coup d'envoi:
String originalString = "2010-07-14 09:00:02";
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(originalString);
String newString = new SimpleDateFormat("H:mm").format(date); // 9:00
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2010-07-14 09:00:02");
String time = new SimpleDateFormat("H:mm").format(date);
http://download.Oracle.com/javase/1.4.2/docs/api/Java/text/SimpleDateFormat.html
Une méthode très simple consiste à utiliser Formatter
(voir conversions date/heure ) ou plus directement String.format
as dans
String.format("%tR", new Date())
Je suppose que votre première chaîne est un objet Date réel, corrigez-moi si je me trompe. Si tel est le cas, utilisez l'objet SimpleDateFormat: http://download.Oracle.com/javase/6/docs/api/Java/text/SimpleDateFormat.html . La chaîne de format "h: mm" devrait en prendre soin.
En utilisant un SimpleDateFormat
Si vous avez la date en nombres entiers, vous pouvez utiliser comme ici:
Date date = new Date();
date.setYear(2010);
date.setMonth(07);
date.setDate(14)
date.setHours(9);
date.setMinutes(0);
date.setSeconds(0);
String time = new SimpleDateFormat("HH:mm:ss").format(date);
Les autres réponses étaient de bonnes réponses lorsque la question a été posée. Le temps passe, Date
et SimpleDateFormat
sont remplacés par de nouvelles et meilleures classes et deviennent inutilisables. En 2017, utilisez les classes du package Java.time
:
String timeString = LocalDateTime.parse(dateString, DateTimeFormatter.ofPattern("uuuu-MM-dd HH:mm:ss"))
.format(DateTimeFormatter.ofPattern("H:mm"));
Le résultat est le 9:00
désiré.
let datestring = "2017-02-14 02:16:28"
let formatter = DateFormatter()
formatter.dateStyle = DateFormatter.Style.full
formatter.timeStyle = DateFormatter.Style.full
formatter.dateFormat = "yyyy-MM-dd hh:mm:ss"
let date = formatter.date(from: datestring)
let date2 = formatter.String(from: date)