salutations tous J'utilise la méthode suivante pour obtenir l'heure actuelle dans le fuseau horaire GMTComment obtenir la date dans un fuseau horaire spécifique?
public static Timestamp getCurrentTimeGMT() {
Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
long time = c.getTimeInMillis();
long offset = TimeZone.getDefault().getOffset(time);
return new Timestamp(time - offset);
}
mais lorsque je tente d'utiliser la même méthode avec des modifications mineures pour obtenir l'heure actuelle en GMT + 3 il donne moi le même résultat de GMT? je ne sais pas pourquoi:
public static Timestamp getCurrentTimeGMT3() {
Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+3"));
long time = c.getTimeInMillis();
long offset = TimeZone.getDefault().getOffset(time);
return new Timestamp(time - offset);
}
des idées pourquoi le code ci-dessus ne fonctionne pas correctement, et comment faire une telle méthode?
... et a le concept d'un LocalDateTime. –
pouvez-vous me dire comment faire un tel comportement en utilisant joda temps? –
@ sword101: Quel comportement * exactement *? Si vous voulez juste un instant représentant l'heure actuelle (sans fuseau horaire associé), utilisez 'new Instant()'. Si vous voulez l'heure actuelle et un associé avec UTC, utilisez 'new DateTime (DateTimeZone.Utc)'. –