Bonjour,


Je cherche une fonction ou méthode permettant de générer un timestamp au format DB2; c'est à dire au format : AAAA-MM-JJ HH:mm:ss.xxxxxx où les x représentent les microsecondes.

Le problème que je rencontre c'est qu'en utilisant DateTime je n'obtiens pas les microsecondes nécessaires à la création du timestamp db2.

Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
$date = DateTime->now;
$timestamp  = $date->year;
$timestamp .= '-'.$date->month;
$timestamp .= '-'.$date->day;
$timestamp .= ' '.$date->hour;
$timestamp .= ':'.$date->minute;
$timestamp .= ':'.$date->second;
$timestamp .= '.'.$date->nanosecond;
 
print "timetamp = [$timestamp]\n";
(ps : j'ai retiré des sources les controles permettant de préfixer avec un 0 une valeur inférieure à 10.)

Ce code me retourne :
timetamp = [2009-10-21 18:10:03.0]
alors que je souhaite avoir :
timetamp = [2009-10-21 18:10:03.012345]

Existe t il un moyen en perl d'obtenir ce genre de résultat ?

Merci pour votre aide.

Didier