Quantiéme vers date format YYYY-MM-DD - Shell/Batch - Programmation
Marsh Posté le 25-02-2008 à 10:07:44
Ce que tu appelles quantième c'est le numéro du jour dans l'année ? Parce que normalement par définition le quantième c'est le numéro du jour dans le mois.
Et tu veux faire ça sous quel OS ?
Marsh Posté le 25-02-2008 à 10:43:32
oui c'est le numéro de jour dans l'année,et je veux le faire en ksh.
Mon besoin est de convertir le qauntiéme de l'année vers une date par exemple le quatiéme 056 de l'année 2008 c'est : 2008-02-25
Merci bcp de votre aide
Marsh Posté le 25-02-2008 à 10:47:32
1) convertir le 01/01 minuit de ton année en timestamp.
2) ajouter à ton timestamp le nombre de secondes dans un jour multiplié par ton "quantième".
3) convertir ton timestamp en date.
Marsh Posté le 25-02-2008 à 11:28:35
merci pour votre réponse .
Mais comment je peux calculer le timestamp en ksh c'est quoi la commande ?
quelle sont les commandes necessaires?
Marsh Posté le 25-02-2008 à 11:30:50
faut chercher, je sais pas de tête en ksh...mais probablement un truc du genre mktime...
Marsh Posté le 25-02-2008 à 11:41:59
question :
quand je vais convertir le timestamp 01/01/ minuit de mon année le résultats sera en second ?
car si c'est pas le cas comment je vais ajouter a mon timestamp ne nombre de secondes dans un jour multiplié par mon "quantième" ?
Marsh Posté le 25-02-2008 à 11:47:12
google => timestamp?
Marsh Posté le 25-02-2008 à 11:56:41
merci je vais chercher est si je trouve je vais publier la solution .
Marsh Posté le 25-02-2008 à 16:24:13
Bonjour,
Comme promis merci de trouver ci-dessous la solution : Création d'un programme en perl.
supposons que le quantième est 56 de l'année 2008.
Code source :
#!/usr/bin/perl
use POSIX;
use strict;
use warnings;
# Récupération du quantième QtmStamp:
my $QtmStamp=$ARGV[0]-1; # au niveau perl le quantième commence par 0.
my $sec = 0;
my $min = 0;
my $hour = 0;
my $day = 1;
my $mon = 1 - 1;
my $year = $ARGV[1] - 1900;
my $wday = 0;
my $yday = 0;
#Calcul du tempstamp :
my $unixtime = mktime ($sec, $min, $hour, $day, $mon, $year, $wday, $yday);
print "$unixtime\n";
$QtmStamp = $QtmStamp*86400; #86400 = ((24*3600))
$unixtime = $unixtime+$QtmStamp;
my $readable_time = localtime($unixtime);
print "$readable_time\n";
Lancemment du perl & résultat :
DateCreaQu.pl 56 2008
Résultat :
1199167200
Mon Feb 25 00:00:00 2008
Merci "skeye" pour ton aide.
Marsh Posté le 24-02-2008 à 21:18:37
Bonjour tout le monde ,
J'ai besoin de votre aide afin que je puisse convertir le quantième vers une date sous le format : YYYY-MM-DD
Exemple :
Je souhaiterai convertir le quantième suivant vers une date :
2007.034 : d'où 2007 est l'année, 034 est le quantième .
Merci bcp de votre aide