Re: [HS] Re: calcul de temps
On Fri, Aug 01, 2014 at 07:28:47AM +0000, moi-meme wrote:
> > Le shell, ça va bien un peu mais ça devient vite difficile à
> > maintenir et très gourmand en processus inutiles. Il faut savoir
> > utiliser les bons outils.
> c'est ce que je recherche
Je seconde Sylvain: la gestion de date, c'est toujours plus
compliqué que l'on ne croit, et extrèmement difficile à
tester correctement. Un jour, j'écrivis un script bash en
février, qui travaillait sur des dates. Tout se passa bien.
Des mois plus tard, tout se mit à foirer lamentablement. Hé
oui, en octobre, le numéro du mois passe à 2 chiffres, et
mes bidouilles ne le supportaient pas.
Moi, je te conseillerais Time::Duration de Perl, que j'avais
utilisé dans ce petit script pour calculer le nombre de
jours entre 2 dates:
#! /usr/bin/perl -w
# Usage: diffdate 30JUL2005 01AUG2014
# -> 9 years and 4 days
use strict;
use Time::ParseDate;
use Time::Duration;
my $i1 = shift;
my $i2 = shift;
# Turn my date format (02SEP) to ParseDate (02 SEP)
$i1 =~ s/(\d+)([a-z]+)(\d*)$/$1 $2 $3/i;
$i2 =~ s/(\d+)([a-z]+)(\d*)$/$1 $2 $3/i;
my $t1 = parsedate($i1, UK => 1, PREFER_FUTURE => 0);
my $t2 = parsedate($i2, UK => 1, PREFER_FUTURE => 0);
my $d = duration($t2 - $t1);
print "$d\n";
Reply to: