Quantiéme vers date format YYYY-MM-DD

Quantiéme vers date format YYYY-MM-DD - Shell/Batch - Programmation

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

Reply

Marsh Posté le 24-02-2008 à 21:18:37   

Reply

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 ?

Reply

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

Reply

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.


---------------
Can't buy what I want because it's free -
Reply

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?

Reply

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...


---------------
Can't buy what I want because it's free -
Reply

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" ?
 

Reply

Marsh Posté le 25-02-2008 à 11:47:12    

google => timestamp?


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 25-02-2008 à 11:56:41    

merci je vais chercher est si je trouve je vais publier la solution .

Reply

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.
 

Reply

Marsh Posté le 25-02-2008 à 16:24:13   

Reply

Marsh Posté le 07-03-2008 à 11:27:31    

Résolu

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed