IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

[Java] Windows 7 & System.currentTimeMillis()


Sujet :

Java

  1. #1
    Membre averti Avatar de GyZmoO
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 428
    Points : 301
    Points
    301
    Par défaut [Java] Windows 7 & System.currentTimeMillis()
    Salut à tous!

    J'ai une petite question, dans notre appli' nous utilisons :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.currentTimeMillis();
    Pour récupérer le temps courant .

    Nous sommes récemment passé sous win7, et depuis, cet appel de méthode renvoie le temps en GMT. (Même si le fuseau horaire du serveur est défini en France).

    Alors qu'a l'époque, sous Win Xp, pas de problème !

    Savez vous s'il y'a un moyen de faire en sorte que cette méthode System.currentTimeMillis() renvoie le temps courant mais en fonction du fuseau horaire défini ??

    Précision : Java 1.4.2_03

    Merci !

    @+
    define: Programmeur : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    currentTimeMillis a toujours renvoyé le nombre de millisecondes écoulée depuis minuit le 1 janvier 1970 à minuit UTC. Si tu avais une valeur différente sur ton windows XP, c'est probablement parce que l'horloge était réglée sur l'heure locale mais qu'on avait pas précisé qu'on était dans la timezone GMT+1.

    Pour avoir le temps dans une timezone précise, il faut passer par un objet Calendar auquel tu passe la timezone qui t'intéresse.

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Pour avoir le temps dans une timezone précise, il faut passer par un objet Calendar auquel tu passe la timezone qui t'intéresse.
    Pas forcément... Dans la plupart des cas il suffit de passer par un java.util.Date, et quand on veut l'utiliser sous forme calendaire (année mois jour heure au lieu de millisecondes,) préciser la time zone à employer. Si on précise rien, alors la time zone par défaut est utilisée.

    Exemple le plus souvent retenu : pour transformer la Date en String, utiliser un DateFormat avec la time zone qu'on veut (par défaut, la time zone par défaut.)

    Autrement dit, un Calendar n'est pas le seul moyen si on a pas besoin de faire des calculs de calendrier. (Bon, hélas, si c'est pour communiquer avec la BDD, dans un PreparedStatement, il faut passer par un Calendar dont on précise la time zone, parce qu'il n'y a pas moyen de préciser juste une Date et une TimeZone. Mais je pense que c'est une erreur de conception.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Pas forcément... Dans la plupart des cas il suffit de passer par un java.util.Date,
    Bien sur, c'est juste que Date est d'office en UTC. Il fut utiliser le Calendar si tu veux récupérer des composants de la date (comme le jour, l'heure) autrement que sous forme de String.
    Maitenant pour la plupart des calculs, je suis d'accord avec toi, pas besoin de Calendar

  5. #5
    Membre averti Avatar de GyZmoO
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2006
    Messages : 428
    Points : 301
    Points
    301
    Par défaut
    Ok, merci pour vos réponses !

    Je vais creuser
    define: Programmeur : Celui qui résout un problème que vous n'aviez pas, d'une façon que vous ne comprenez pas.

Discussions similaires

  1. gtk + java + windows
    Par djynwk dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 04/04/2007, 20h09
  2. Erreur fichier"\windows\system32\config\system" in
    Par mzt.insat dans le forum Windows XP
    Réponses: 3
    Dernier message: 22/02/2006, 10h30
  3. [Systeme]currentTimeMillis
    Par Guybrush dans le forum API standards et tierces
    Réponses: 13
    Dernier message: 08/02/2006, 16h11
  4. Java, Windows et les accents
    Par _Mac_ dans le forum Langage
    Réponses: 3
    Dernier message: 25/01/2006, 13h10
  5. [Info]Plus précis que System.currentTimeMillis()
    Par SuperCed dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 10/06/2005, 14h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo