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

JavaScript Discussion :

timestamp en javascript


Sujet :

JavaScript

  1. #1
    Membre éclairé Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Par défaut timestamp en javascript
    bonjour tous le monde


    alors voila, je veux par exemple savoir le timestamp du 04/01/1989 en javascript


    j'ai donc fais ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <script type="text/javascript">
    var sdate = "04/01/1989";
    var date = new Date();
    date.setFullYear(sdate.substr(6,4));
    date.setMonth(sdate.substr(3,2));
    date.setDate(sdate.substr(0,2));
    date.setHours(0);
    date.setMinutes(0);
    date.setSeconds(0);
    date.setMilliseconds(0);
    alert(date.getTime());
     
    </script>

    mais ca m'alert un nombre a 12 chiffres...

    or quand je fais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $vieux_timestamp = mktime(0, 0, 0, 1, 4, 1989);
    echo $vieux_timestamp;
    he bah ca m'affiche un nombre a 9 chiffres....ou est le probleme siouplais?

    merci!

  2. #2
    Membre Expert
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Par défaut
    En php je ne sais pas, mais en javascript, les mois commencent à 0 : janvier = 0, février = 1 ... décembre = 11 ; donc tu as peut être un problème par là...

  3. #3
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    en JS tu as définis :
    l'année, le mois, le jour, l'heure, les minutes, les secondes et les millisecondes
    12 chiffres (le timestamp est en millisecondes)


    en PHP tu as définis (d'après ce que tu as écris dans la fonction) :
    l'année, le mois, le jour, l'heure, les minutes et les secondes
    9 chiffres
    tu ajoutes les millisecondes (x1000) à cette valeur tu as 12 chiffres

    Citation Envoyé par documentation PHP
    http://fr.php.net/mktime

    mktime() retourne un timestamp UNIX correspondant aux arguments fournis. Ce timestamp est un entier long, contenant le nombre de secondes entre le début de l'époque UNIX (1er Janvier 1970 00:00:00 GMT) et le temps spécifié.

  4. #4
    Membre éclairé Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Par défaut
    merci!

    en JS tu as définis :
    l'année, le mois, le jour, l'heure, les minutes, les secondes et les millisecondes
    12 chiffres (le timestamp est en millisecondes)
    mais meme si je divise par 1000 le resultat js, j'obtiens

    602 550 000 (ca c'est le calcul timestamp par js) et en php
    599 871 600 (ca c'est le calcul timestamp par php)

    cette difference est normal ou c'est mon code js qui deglingue?

  5. #5
    Membre Expert
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Par défaut
    Citation Envoyé par gwyohm Voir le message
    En php je ne sais pas, mais en javascript, les mois commencent à 0 : janvier = 0, février = 1 ... décembre = 11 ; donc tu as peut être un problème par là...
    Tu as tenu compte de ma remarque ?

  6. #6
    Membre éclairé Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    En php je ne sais pas, mais en javascript, les mois commencent à 0 : janvier = 0, février = 1 ... décembre = 11 ; donc tu as peut être un problème par là...


    dsl ....

    EFFECTIVEMENT!!!!!! CA MARCHE MAINTENANT!!!!!!

    j'ai fais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <script type="text/javascript">
    var sdate = "04/00/1989";
    var date = new Date();
    date.setFullYear(sdate.substr(6,4));
    date.setMonth(sdate.substr(3,2));
    date.setDate(sdate.substr(0,2));
    date.setHours(0);
    date.setMinutes(0);
    date.setSeconds(0);
    date.setMilliseconds(0);
    alert(date.getTime());
     
    </script>
    et boum! ca donne la meme chose qu'en php!-avec 3 zero en plus





    bon bah alors maintenant autre probleme :

    comment faire la conversion automatique des mois????

    car je peux pas dire "marquez votre date de naissance ayant prealablement enlevé un mois au resultat".... en plus y'a 3 zeros en plus, le calcul est faux, ca calcul le nombre de MILLIseconde depuis 1970...c'est pas un timestamp basic ca....

  7. #7
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Comme l'a précisé gwyohm, en Javascript les mois commencent à 0 et pas 1.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    date.setMonth(sdate.substr(3,2));
    retranche 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    date.setMonth(parseInt(sdate.substr(3,2)) - 1);

  8. #8
    Membre éclairé Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Par défaut



    MERCI A TOUS!!!!!!


    ENFIN!

    suuuuper sympa tous le monde, c'est exactely ce que je voulais!

    mon code final ressemble donc a ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <script type="text/javascript">
    var sdate = "04/01/1989";
    var date = new Date();
    date.setFullYear(sdate.substr(6,4));
    date.setMonth(parseInt(sdate.substr(3,2)) - 1);
    date.setDate(sdate.substr(0,2));
    date.setHours(0);
    date.setMinutes(0);
    date.setSeconds(0);
    date.setMilliseconds(0);
    alert((date.getTime()/1000));
     
    </script>

    vraiment trop fort, j'apprecie beaucoup votre aide

    au prochain bug!

  9. #9
    Membre Expert
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Par défaut
    Citation Envoyé par kaking Voir le message
    en plus y'a 3 zeros en plus, le calcul est faux, ca calcul le nombre de MILLIseconde depuis 1970...c'est pas un timestamp basic ca....
    oui, le nombre de millisecondes depuis 1970, c'est comme ca... mais passer de millisecondes en secondes, c'est pas la mort ; tu as donné toi même la solution, il faut diviser par 1000

  10. #10
    Membre éclairé Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Par défaut

  11. #11
    Membre éclairé Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Par défaut
    heu, hum....

    question toute bete, la...

    quand j'essaye d'avoir le timestamp actuel-de la date du jour, je fais ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var date = new Date();
     
    alert((date.getTime()/1000));
    et ca alert un nombre a virgule....pourquoi siouplais?

  12. #12
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ben parce que tu divises par 1000 un nombre qui n'est pas forcément un multiple de 1000 !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  13. #13
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Citation Envoyé par kaking Voir le message
    quand j'essaye d'avoir le timestamp actuel-de la date du jour, je fais ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var date = new Date();
     
    alert((date.getTime()/1000));
    et ca alert un nombre a virgule....pourquoi siouplais?
    Citation Envoyé par Bovino Voir le message
    Ben parce que tu divises par 1000 un nombre qui n'est pas forcément un multiple de 1000 !
    +1

    kaking : tu as exécuté ton script à quelle heure ? Ce n'était sans doute pas à 00h 00min 00sec 00ms (comme dans ton exemple...)

  14. #14
    Membre éclairé Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Par défaut


    evidemment


    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Les meilleurs livres pour apprendre le JavaScript
    Par vermine dans le forum Livres
    Réponses: 23
    Dernier message: 10/06/2019, 18h58
  2. Convertir timestamp et datetime en javascript en tenant compte du fuseau horaire
    Par encoremoi21258 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 15/06/2015, 21h44
  3. JavaScript<---->ActionScript
    Par crazypiou dans le forum Flash
    Réponses: 21
    Dernier message: 17/04/2009, 17h14
  4. appel xmlservice via fonction javascript
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 06/05/2003, 14h24
  5. JavaScript de vérification de formulaire
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 6
    Dernier message: 26/02/2003, 13h48

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