2012-02-14 4 views
0

J'ai un fichier de classe où le champ de date a une valeur comme "1329242400". Cette valeur dans l'interface utilisateur est représentée par "0 jour 00:02:56". J'ai essayé ci-dessous, mais je reçois la date dans les années 1970.date heure de conversion au format spécifique

String attr = "1329242400"; 
Date cDate = new Date(Long.parseLong(attr)); 

sortie est "Jan Fri 16 04:16:55 CEST 1970"

Essayé ci-dessous,

GregorianCalendar c = new GregorianCalendar(); 
c.setTime(cDate); 
XMLGregorianCalendar dDt = DatatypeFactory.newInstance().newXMLGregorianCalendar(c); 

sortie est « 1970-01-16T04: 16: 55,200-05: 00 "

Quelle autre méthode de conversion dois-je faire pour obtenir" 0 jour 00:02:56 "ou comme" Tue Feb 14 00:02:56 EST 2011 "?

Répondre

2

Le constructeur attend l'horodatage être en millisecondes, de sorte que vous êtes hors de 3 ordres de grandeur:

Date cDate = new Date(Long.parseLong(attr) * 1000); 
              ^^^^^^