Java simple Timestamp to Date conversion

J’essaie de trouver la réponse à cette question depuis un certain temps et il y a tellement d’informations contradictoires …

Ce que je voudrais faire, c’est obtenir un horodatage unix actuel dans android, puis le convertir dans un format me permettant de récupérer getHours () et getMinutes ().

Je le fais actuellement:

int time = (int) (System.currentTimeMillis()); Timestamp ts = new Timestamp(time); mHour = ts.getHours(); mMinute = ts.getMinutes(); 

Mais il ne me donne pas une valeur correcte pour une heure ou une minute (il revient à 03h38 pour l’heure de la côte est actuelle de 13h33).

Cela marche:

 final Calendar cal = Calendar.getInstance(); cal.setTimeInMillis(System.currentTimeMillis()); Date date = cal.getTime(); mHour = date.getHours(); mMinute = date.getMinutes(); 

Utilisez simplement la classe Java Calendar .

 Calendar c = new GregorianCalendar(); // This creates a Calendar instance with the current time mHour = c.get(Calendar.HOUR); mMinute = c.get(Calendar.MINUTE); 

Notez également que votre émulateur Android affichera l’heure GMT pour l’heure actuelle. Je conseille de tester ce type de code sur un appareil réel.

Regardez ça.

J’espère que c’est ce dont vous avez besoin.

Format de date simple Android

Bonne chance!!

 int time = (int) (System.currentTimeMillis()); 

ici vous devriez utiliser long au lieu de int .

Utiliser le formulaire de classe Google Google est le meilleur pour ce type de travail spécial, il a de bonnes performances pas comme le calendrier.