2010-05-12 6 views

Répondre

90

System.currentTimeMillis() ne vous donne le nombre de millisecondes depuis le 1er Janvier 1970 à 00:00:00 UTC. La raison pour laquelle vous voyez les heures locales peut être parce que vous convertissez une instance Date en une chaîne avant de l'utiliser. Vous pouvez utiliser DateFormat s pour convertir Date s à String s dans un fuseau horaire:

DateFormat df = DateFormat.getTimeInstance(); 
df.setTimeZone(TimeZone.getTimeZone("gmt")); 
String gmtTime = df.format(new Date()); 

également see this related question.

+0

Je veux à l'utilisateur UTC + 2, comment puis-je faire tht –

+13

nouvelle date() retournera la date actuelle du système! Si l'utilisateur change l'heure/la date, les valeurs seront erronées! –

8

voir ma réponse ici:

How can I get the current date and time in UTC or GMT in Java?

Je suis entièrement testé en changeant les fuseaux horaires sur l'émulateur

+7

Veuillez ne pas poster de lien uniquement les réponses aux autres questions Stack Overflow. Au lieu de cela, votez/marquez pour fermer en double, ou, si la question n'est pas un doublon, * adaptez la réponse à cette question spécifique. * –

Questions connexes