SimpleDateFormat obtenir seul le temps
J'ai un problème lorsque j'essaie d'obtenir que le temps à partir d'un Timestamp.
Un exemple de l'Horodatage est:
2012 à 04-19T23:05:00+0200
Je pense que le format "aaaa-MM-jj PAS'HH:mm:ss.SSSZ", non?
Et il doit être "HH:mm".
J'utilise le code suivant, mais il returnes rien:
public String getTime(String Vertrektijd){
final SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
Date dateObj;
String newDateStr = null;
try
{
dateObj = df.parse(Vertrektijd);
SimpleDateFormat fd = new SimpleDateFormat("HH:mm");
newDateStr = fd.format(dateObj);
}
catch (Exception e)
{
e.printStackTrace();
}
return newDateStr;
}
Merci pour l'aide!
InformationsquelleAutor Jelmer Visser | 2012-04-19
Vous devez vous connecter pour publier un commentaire.
Votre code est correct...
Dans l'exemple de ce que vous avez donné dans la question(à savoir, "2012 à 04-19T23:05:00+0200") est manquant Millisecondes
Essayer de passer ce
Il devrait fonctionner.
Edit:
Comme MH mentionné, Si vous ne voulez pas l'utiliser millisecondes
vous pouvez modifier le code pour
yyyy-MM-dd'T'HH:mm:ssZ
pour utiliser l'exemple que vous avez donné. Notez que la dernière partie est différente, car, en effet, vous mélangé les millisecondes de la partie.À la Date de getHours() et getMinutes() de la fonction, mais c'est déconseillé. La bonne façon serait d'utiliser un Calendrier
Ici est une tentative pour résumer toute la confusion de classes Java et Android offrent à faire avec les dates, heures et fuseaux horaires. Fondamentalement, vous n'avez plus de votre date/heure de manipulations à l'aide de GregorianCalendar objets, probablement à l'aide de méthodes dans le Calendrier de la superclasse. Faire régionaux la mise en forme spécifique, vous avez besoin d'un DateFormat. Mais cela ne peut de format de Date d'objets, de sorte que vous avez besoin de convertir votre Calendrier/GregorianCalendar à l'un de ceux du premier. Fondamentalement, SimpleDateFormat est pour faire une mise en forme personnalisée, comme vous l'avez déjà découvert.
Remarque: il existe deux classes différentes appelé “DateFormat”.