# Perl 5 module DateTime

**URL:** <https://www.debian-fr.org/t/perl-5-module-datetime/65954>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 9:40 UTC](https://www.debian-fr.org/t/perl-5-module-datetime/65954 "2016-02-21T21:40:42Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![josephtux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/josephtux/32/3985_2.png) [@josephtux](https://www.debian-fr.org/u/josephtux)\
**Post date:** [Février 21, 2016, 9:40 UTC](https://www.debian-fr.org/t/perl-5-module-datetime/65954/1 "2016-02-21T21:40:42Z")

</div>

Bonjour amis perliens,

je dois modifier une chaine de temps formatée de la façon suivante:  
hh:mm:ss (par exemple: 01:25:12)  
en ajoutant une durée (exemple ici: 10 secondes)

Je ne trouve pas comment donner à DateTime cette date/heure pour qu’il reconnaisse l’heure.

Dans l’état actuel, j’ai le code suivant:

`
 86 # Ajouter une durée à la date:
 87 # Duree à ajouter:
 88 my $duree = DateTime::Duration->new(seconds => 10 );
 89 # Ligne à remplacer par la boucle sur les chaines de date:
 90 #my $date = DateTime -> now();
 91 # Donner l'indication de format à DateTime
 92 
 93 # Régler la date:
 94 my $date = DateTime -> '\01:24:40'; # (L'erreur est ici)
 95 # Ajouter la durée à la date (l'heure):
 96 say "DEBUG avant: $date ";
 97 $date -> add_duration($duree);
 98 print "DEBUG après: $date";`

ce code semble fonctionner, si je donne (ligne 90) $date = DateTime -\> now();

La question me semble donc être: comment utiliser/transmettre/modifier ce format ?

Merci de m’avoir lu

EDIT  
Je dois, bien sûr, sortir une date/heure au même format.

---

<div class="post-metadata">

**Author:** ![flavien](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/f475e1/32.png) [@flavien](https://www.debian-fr.org/u/flavien)\
**Post date:** [Février 21, 2016, 9:40 UTC](https://www.debian-fr.org/t/perl-5-module-datetime/65954/2 "2016-02-21T21:40:51Z")

</div>

Salut,

d’après la [doc](http://search.cpan.org/~drolsky/DateTime-1.18/lib/DateTime.pm#DateTime->new(_..._)). Ta déclaration de $date devrait être plutôt dans ce genre là :

```auto

```

---

<div class="post-metadata">

**Author:** ![josephtux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/josephtux/32/3985_2.png) [@josephtux](https://www.debian-fr.org/u/josephtux)\
**Post date:** [Février 21, 2016, 9:40 UTC](https://www.debian-fr.org/t/perl-5-module-datetime/65954/3 "2016-02-21T21:40:58Z")

</div>

Merci Flavien,

j’ai omis de rapporter que j’avais trouvé cette syntaxe dans la doc, après mon message, mais sans plus de succès: mon problème étant de ne pas utiliser «année, mois, jour» ni «nanosecondes». Il y a bien moyen de gérer les chaînes, mais alors, DateTime devient inutile (voie que j’ai prise depuis mon message).

Je reviendrai sur ce fil dés que j’aurai abouti, c’est à dire dés que j’aurai un peu de temps.
