Obtenir l'heure GMT avec Android
J'ai été de creuser la question pendant un moment dans StackOverflow
Android obtenez de l'heure UTC Actuelle
et
Comment puis-je obtenir la date actuelle et l'heure UTC ou GMT en Java?
J'ai essayé les deux façons d'obtenir l'heure actuelle de mon téléphone en GMT. Je suis en Espagne, et la différence est GMT+2. Donc, nous allons voir avec un exemple:
1º tenter: j'ai créé un format et l'a appliqué au Système.currentTimeMillis();
DateFormat dfgmt = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
dfgmt.setTimeZone(TimeZone.getTimeZone("GMT"));
String gmtTime = dfgmt.format(new Date());
//Using System.currentTimeMillis() is the same as new Date()
Date dPhoneTime = dfgmt.parse(gmtTime);
Long phoneTimeUTC = dPhoneTime.getTime();
J'ai besoin de soustraire que de temps à autre de temps, c'est pourquoi je fais le casting de Long.
DateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date arrivalDate = df.parse(item.getArrivalDate());
//the String comes from JSON and is for example:"UTC_arrival":"2011-05-16 18:00:00"
//which already is in UTC format. So the DateFormat doesnt have the GMT paramater as dfgmt
diff = arrival.getTime() - phoneTimeUTC ;
J'ai aussi essayé ceci:
Calendar aGMTCalendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
Long phoneTimeUTC = aGMTCalendar.getTimeInMillis()
Et encore je n'obtiens pas le droit à la différence. Mais si je fais cela:
Long phoneTimeUTC = aGMTCalendar.getTimeInMillis()-3600000*2;
Elle fonctionne.
Des idées?
Merci beaucoup,
David.
source d'informationauteur Dayerman | 2011-05-16
Vous devez vous connecter pour publier un commentaire.
Autant que j'ai lu le calendrier.getTimeInMillis(); retourne l'heure UTC dans millis. J'ai utilisé le code suivant et l'a comparé à la même Époque, dans ce site http://www.xav.com/time.cgi.
Giora
Cela fonctionne pour vous!
Spécifier le format, et vous l'aurez dans le GMT!
Un coup d'oeil et voir si cela fonctionne.
vous pouvez toujours utiliser:
ou
Fonctionne très bien.