OVH Cloud OVH Cloud

Ajout de temps

6 réponses
Avatar
Frantz Dorsemaine
Bonjours à tous,

J'aurais besoin de faire des additions de temps:

01:20:25 + 00:30:30

Il y a t-il un module d'addition de temps à part Date_Calc

Merci A+

6 réponses

Avatar
Denis -esp2008-
Bonjour,

01:20:25 + 00:30:30


S'il ne s'agit que de faire des calculs en base 60, il n'est peut-être
pas nécessaire de passer par un module.


Il y a t-il un module d'addition de temps à part Date_Calc


Il y en a plusieurs autres, maiq qu'est-ce qui ne va pas dans Date::Calc?

--
Denis

Avatar
Frantz Dorsemaine
Bonjour,


01:20:25 + 00:30:30



S'il ne s'agit que de faire des calculs en base 60, il n'est peut-être
pas nécessaire de passer par un module.



Il y a t-il un module d'addition de temps à part Date_Calc



Il y en a plusieurs autres, maiq qu'est-ce qui ne va pas dans Date::Calc?

Il faut que le resultat soit du temps donc en base 60, Cela me serre a

faire le cumule du temps de travail dans un planning.

Merci


Avatar
Samuel Mouniée
Bonjour,

Bonjours à tous,

J'aurais besoin de faire des additions de temps:

01:20:25 + 00:30:30

Il y a t-il un module d'addition de temps à part Date_Calc


timelocal et localtime


Merci A+


Padkwa,


.s'nuoM


--
+---- Samuel Mouniée
| o o | Moun's
----+ http://artdif.com/ - http://www.mouns.net/

Avatar
Denis -esp2008-
Il faut que le resultat soit du temps donc en base 60, Cela me serre a
faire le cumule du temps de travail dans un planning.


Je trouve les modules existants un peu lourds pour un si simple besoin,
j'ai une fonction C qui fait ce type de traitement, je vais la retrouver
et la traduire en perl, ça sera aussi simple.

--
Denis

Avatar
Denis -esp2008-
sub am
{
# int h, h1, h2, min, min1, min2, s, s1, s2
use integer;
my ($h, $h1, $h2, $min, $min1, $min2, $s, $s1, $s2);

# sscanf %d:%02d:%02d'
($h1, $min1, $s1) = split(':', shift);
($h2, $min2, $s2) = split(':', shift);

$s = ($s1+$s2);
$min = ($min1+$min2) + $s/60;
$h = ($h1+$h2) + $min/60;

return sprintf ('%d:%02d:%02d', $h, $min%60, $s%60);
}


print &am('12:01:59', '01:59:47'); # "14:01:46"



C'est du C programmé rapidement traduit rapidement en perl (enfin c'est
carrément plus simple en perl, je me demande même ce qui m'avait pris
de faire ça en C à l'époque), donc je reconnais que ce n'est pas ce
qu'il y a de plus beau. Mais au moins ce bout de code a fait ses preuves
chez moi.

--
Denis
Avatar
Frantz Dorsemaine
sub am
{
# int h, h1, h2, min, min1, min2, s, s1, s2
use integer;
my ($h, $h1, $h2, $min, $min1, $min2, $s, $s1, $s2);

# sscanf %d:%02d:%02d'
($h1, $min1, $s1) = split(':', shift);
($h2, $min2, $s2) = split(':', shift);

$s = ($s1+$s2);
$min = ($min1+$min2) + $s/60;
$h = ($h1+$h2) + $min/60;

return sprintf ('%d:%02d:%02d', $h, $min%60, $s%60);
}


print &am('12:01:59', '01:59:47'); # "14:01:46"



C'est du C programmé rapidement traduit rapidement en perl (enfin c'est
carrément plus simple en perl, je me demande même ce qui m'avait pris
de faire ça en C à l'époque), donc je reconnais que ce n'est pas ce
qu'il y a de plus beau. Mais au moins ce bout de code a fait ses preuves
chez moi.

Merci je test ca de suite