Forum Programmation.perl date en milliseconde

Posté par  .
Étiquettes : aucune
0
20
avr.
2005
Bonjour,


Je voudrais savoir si quelqu'un connaissait le moyen en Perl pour connaître le temps en milliseconde depuis 1970 puis pour l'afficher avec un formatage "classque". La fonctions time() donne ce temps mais seulement en seconde. Je peux biensur faire une multiplication, mais je voudrais le temps précis.


J'ai essayé de me tourner vers le module DateTime mais je ne trouve pas de fonction de la sorte.

Merci
  • # Re:

    Posté par  . Évalué à 3.

    perldoc Date::Format
    • [^] # Re: Re:

      Posté par  . Évalué à 1.

      merci, mais à priori, le traitement de la date n'est qu'en seconde.
  • # Time::HiRes

    Posté par  . Évalué à 1.

    Légèrement hors-topic...

    Mais ca peut aider

    http://search.cpan.org/~jhi/Time-HiRes-1.66/HiRes.pm(...)
    • [^] # Re: Time::HiRes

      Posté par  . Évalué à 1.

      intéressant ce module...



      #!/usr/bin/perl -w
      use Time::HiRes;

      print Time::HiRes::gettimeofday();


      me rend le temps en micoseconde depuis 1970.
      soit un nombre à 16 chiffres... (il y en a 3 de trop!)
      je vais continuer à chercher... je pourrais effectivement peut-être supprimer les 3 derniers chiffres pour avoir les millisecondes, mais lorsque je voudrai faire de l'affichage je ne pourrai pas faire l'opération inverse.
  • # date

    Posté par  . Évalué à 1.

    my $now = `date +%s`;
    • [^] # Re: date

      Posté par  . Évalué à 2.

      bon, ma réponse est un peu hâtive:
      il vaut mieux appeler les fonctions système avec un chemin absolu

      sinon:

      echo ' #!/bin/bash ; echo "0wn3d" ' > date
      chmod +x date
      export PATH=.
      perl -e " my $now = system('date','+%s');
    • [^] # HS!

      Posté par  . Évalué à 2.

      en plus je suis à côté de la plaque avec mon +%s...
      toutes mes excuses. Je suis vraiment fatigué aujourd'hui...
      • [^] # Re: HS!

        Posté par  . Évalué à 2.

        "date +%s" donne la date en seconde. Je voudrais l'avoir en milliseconde comme le fait gettimeofday() en languge C je crois.

        Je suis en train d'essayer le module Time::HiRes.. je vais voir ce que cela donne.
        • [^] # Re: HS!

          Posté par  . Évalué à 1.

          date +%s.%N

          date (coreutils) 5.0.91
          Written by David MacKenzie.
          • [^] # Re: HS!

            Posté par  . Évalué à 1.

            Merci !

            C'est même 1000 fois plus précis qu'à la milliseconde...

            Enfin, perso je gére dorénavant les dates en seconde... il fallait choisir un format commun à toutes mes applis...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.