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

 Delphi Discussion :

Mon TimeStamp delphi est différent de timestamp php :(


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    893
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 893
    Par défaut Mon TimeStamp delphi est différent de timestamp php :(
    sur mon prog delphi et sur mon site, je détecte le timestamp pour avoir la date et l'heure précise

    pour delphi j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Var
    TS : TTimeStamp;
    a : TDateTime;
    Begin
      TS:=DateTimeToTimeStamp (Now);
     
      With TS do
        begin
         edit1.Text := (inttostr(time));
         edit2.Text :=  (inttostr(Date));
        end;
     
      ts.Time := strtoint(edit1.Text);
      ts.Date := strtoint(edit2.Text);
      edit3.Text := DateTimeToStr(TimeStampToDateTime(ts));
    End;
    (mettez 3 edit sur la fiche)

    mais là il detect 2 nombres (edit 1 et 2)

    j'ai gardé ça parce que je n'ai pas trouvez comment faire autrement et il me donnait un bon résultat en edit3

    en php j'utilise la fonction time() qui me donne 1 seul résultat (plus long le nombre)


    donc j'aimerais trouver le même nombre en delphi et en php

    je pense que le mieux serait de faire en delphi ce que le php fait ...

    je vous demande de l'aide

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 685
    Par défaut
    D'après PHP.net :

    Description
    int time ( void )
    Returns the current time measured in the number of seconds since the Unix Epoch (January 1 1970 00:00:00 GMT).
    C'est donc plus une fonction du genre DateTimeToUnix(Now) que tu cherches (cf l'aide Delphi et DateUtils).

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    893
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 893
    Par défaut
    merci pour les précisions

    j'ai essayé de faire la conversation des 2 sens et je bute sur la date et le jour

    comment je peux trouver ?

    j'ai déjà réussi pour l'heure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     
    var
    begin
      edit3.Text := inttostr(DateTimeToUnix(Now));
    end;
     
     
    var
     myDate : TDateTime;
     myHour, myMin, mySec, myMilli : Word;
    begin
      myDate := UnixToDateTime(strtoint(edit3.Text));
      DecodeTime(myDate, myHour, myMin, mySec, myMilli);
      ShowMessage('Time now = '+TimeToStr(myDate));
      ShowMessage('Hour     = '+IntToStr(myHour));
      ShowMessage('Minute   = '+IntToStr(myMin));
      ShowMessage('Second   = '+IntToStr(mySec));
      ShowMessage('MilliSec = '+IntToStr(myMilli));
    end;

  4. #4
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Salut

    Utilise DecodeDateTime à la place de DecodeTime:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      DecodeDateTime(myDate, myYear, myMonth, myDay, myHour, myMin, mySec, myMilli);

    @+ Claudius

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    893
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 893
    Par défaut
    Citation Envoyé par Cl@udius Voir le message
    Salut

    Utilise DecodeDateTime à la place de DecodeTime:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      DecodeDateTime(myDate, myYear, myMonth, myDay, myHour, myMin, mySec, myMilli);

    @+ Claudius
    ça fonctionne niquel, thx

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    893
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 893
    Par défaut
    dsl de remonter ce sujet, mais mon problème n'est pas résolus

    c'est vrai que je trouve bien la date / heure, mais les nombres trouvé ne sont pas totalement les mêmes

    j'effectue à l'instant un teste à quelque secondes d'intervalle, sur le même pc :

    delphi : DateTimeToUnix(Now) = 1238175179

    php : time() = 1238189577

    en faisant la différence je trouve : 14398

    je rappel que le problème se situe au niveau de l'heure

    en delphi, pour lire j'utilise ce que claudius m'a conseillé (DecodeDateTime) et je trouve bien la date / heure de mon pc

    en php, j'utilise le script suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
     
      $t = time();
     
      echo date('d/m/Y à H\hi', $t);
     
    ?>
    je trouve bien la date, mais l'heure est en avance d'une heure

    ou est le problème me direz vous ? pour le décalage il suffit de retranche 3600 sec (dans la partie php) oui je suis d'accord ... mais le soucis c'est que les nombres trouvé delphi / php ne sont pas pareil !!! et pas à 3600 sec près mais à 14398 !!!

    je veux tout d'abord trouver en delphi et en php le même nombre !

    je vosu remercie d'avance

Discussions similaires

  1. [SP-2013] Mon site public est différent suivant les comptes de sharepoint
    Par jbsharepoint dans le forum SharePoint
    Réponses: 2
    Dernier message: 16/03/2015, 09h24
  2. Le timestamp n'est pas correct
    Par beegees dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/01/2015, 16h28
  3. Réponses: 5
    Dernier message: 28/05/2011, 15h18
  4. Réponses: 3
    Dernier message: 31/01/2009, 17h28
  5. Réponses: 1
    Dernier message: 07/01/2006, 15h01

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