2012-03-15 2 views
0

J'essaie de convertir le fuseau horaire de l'UTC en GMT en java. J'ai essayé plusieurs fois et même utilisé votre méthode guidée. Je reçois ma sortie avec un timing correct au format GMT mais avec "PDT 2012" écrit avec. Pourquoi donc .. ?? J'ai essayé des centaines de méthodes mais je ne peux pas m'en débarrasser.Comment convertir UTC en PST en java

S'il vous plaît aidez-moi.

Merci

+2

Je doute que vous avez essayé "des centaines de méthodes". Dans tous les cas, notez que PDT est PST * dans l'heure d'été * et affiche le «meilleur code» (avec les types utilisés) à ce jour, ainsi que les résultats réels et souhaités. –

+0

Code ou il ne s'est pas produit. – pcalcao

+2

GMT ou PST? Votre question n'est pas claire, et vous n'avez montré aucun code. En général, je vous suggère fortement d'utiliser Joda Time, mais au-delà de cela, il est difficile d'aider avec une question aussi vague. S'il vous plaît lire http://tinyurl.com/so-hints –

Répondre

1

Peut-être que ce qui suit sera un point de départ. Il convertit votre date GMT:

SimpleDateFormat dateFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy"); 
    Calendar cal = Calendar.getInstance(); 
    System.out.println(cal.getTime()); 
    TimeZone currentTimeZone = cal.getTimeZone(); 
    int offset = currentTimeZone.getOffset(cal.getTimeInMillis()); 
    Date adjustedTime = new Date(cal.getTimeInMillis() - offset); 
    dateFormat.setTimeZone(TimeZone.getTimeZone("GMT")); 
    System.out.println(dateFormat.format(adjustedTime)); 

Quelques notes:

  • Vous n'êtes probablement pas en mesure voir le changement PST à UTC parce que vous ne définissez pas le fuseau horaire sur le format de date
  • Vous ne devriez plus utiliser les abréviations comme "GMT". Il est préférable d'utiliser le nom complet dans le champ id.
  • Vous devrez être un peu plus créatif si vous exécutez le code ci-dessus sur un système dont l'heure par défaut est déjà définie sur GMT.
2

Pour tous Date/ou DateTime opérations liées à Java je recommande d'utiliser JodaTime Library

Il est très utile d'utiliser Date/heure avec différents points de vue (calendrier, fuseau horaire) et pour le calcul et : ajouter/soustraire mois, années, jours et ainsi de suite ...