[Format] Une date du type "2415019" sous Unix...Comment la convertir?

Une date du type "2415019" sous Unix...Comment la convertir? [Format] - C++ - Programmation

Marsh Posté le 22-07-2002 à 17:31:35    

bonjour tous !
 
Je bosse sur une base de données provenant d'un SGBD utilisant oracle sous unix, et j'ai des formats de date bizarre...
 
Notamment, la date "2415019" correspond au 1er janvier 1900... donc vous imaginez le merdier.
 
En fait, j'ai capté que 2415019 correspondait au nombre de jours écoulés depuis une date X... Du moins niveau cohérence des données ce serai aprfait ( => Donc ca doit etre ca).
 
je me demandais si il existait une lib en C, ou un truc prédéfini, au cas ou ce format serai généralisé a unix par exemple, pour retrouver une date du type : 01011900 ou un truc du genre...
 
Bref, une focntion qui a partir du nombre de jours me renvoie l'année, le mois, le jour du mois, enfin une date exploitable telle quelle...
 
Car j'ai franchement pas envie de me faire suer avec années bissextiles etc( compréhensible d'ailleurs... )
 
Merci d'avance !
 


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 22-07-2002 à 17:31:35   

Reply

Marsh Posté le 22-07-2002 à 17:52:08    

tu peux tjs avoir une approximation en divisant par 365.25, puis le modulo par 52.14 (semaines) puis le modulo par 4.33 (mois)...
 
en fait en prenant le nombre moyen d'occurences qu'on rencontre dans chaque catégories...
 
bon, c surement inexploitable pour une SGBD aussi...
 
--->je sors [. ]


---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 22-07-2002 à 18:07:13    

perl :)

Reply

Marsh Posté le 22-07-2002 à 19:11:54    

L'approximation, comme il sagit de trucs financiers, est pas tres exploitable...
 
Tu peux détailler stp kemkem ?


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 23-07-2002 à 00:06:01    

polom :)


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 23-07-2002 à 07:53:01    

:/


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 23-07-2002 à 10:41:24    

t'as la lib time.h avec notament ctime(const time_t *timep)
le man te donnera d'autre info utiles
 
sinon sous oracle tu peux lui demander de formater la date en chaine de caractere au format ke tu veux => to_char(ta_date_oracle, 'YYYYMMDD';)
passage inverse to_date(ta_date_string, 'YYYYMMDD';) la tu precise a oracle kel est le format de ta date pour k'il la retranscrive comme il veux
 
avec tout ca tu peux recuperer les annees, mois et autres ...
gl


---------------
Hyndex - Meuaarf !! ReZo !!!
Reply

Marsh Posté le 23-07-2002 à 11:08:21    

Si "2415019" correspond à un nombre de jours écoulés depuis le 01/01/0001, ça donne le 06/02/6613 (à un jour près et si les règles concernant les années bissextiles sont identiques du 01/01/0001 au 06/02/6613 !!!). :D
 
Et, le 01/01/1900 serait le 693136° jours en partant du 01/01/0001


Message édité par darkoli le 23-07-2002 à 11:09:49

---------------
Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html
Reply

Marsh Posté le 23-07-2002 à 14:32:30    

DarkOli a écrit a écrit :

Si "2415019" correspond à un nombre de jours écoulés depuis le 01/01/0001, ça donne le 06/02/6613 (à un jour près et si les règles concernant les années bissextiles sont identiques du 01/01/0001 au 06/02/6613 !!!). :D
 
Et, le 01/01/1900 serait le 693136° jours en partant du 01/01/0001  




 
2415019 correspond au 01 01 1900 ...


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 23-07-2002 à 14:32:59    

evode a écrit a écrit :

t'as la lib time.h avec notament ctime(const time_t *timep)
le man te donnera d'autre info utiles
 
sinon sous oracle tu peux lui demander de formater la date en chaine de caractere au format ke tu veux => to_char(ta_date_oracle, 'YYYYMMDD';)
passage inverse to_date(ta_date_string, 'YYYYMMDD';) la tu precise a oracle kel est le format de ta date pour k'il la retranscrive comme il veux
 
avec tout ca tu peux recuperer les annees, mois et autres ...
gl




 
Merci, mais finalement, on va etre obligés de coder ca en gap... on va se marrer :(


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Marsh Posté le 23-07-2002 à 14:32:59   

Reply

Marsh Posté le 23-07-2002 à 18:18:25    

Tetedeiench a écrit a écrit :

 
 
2415019 correspond au 01 01 1900 ...




 
Et le 02 01 1900, c'est quoi ?


---------------
Le site de l'année :D (XHTML 1.0 strict) : http://darkoli.free.fr/index.html
Reply

Marsh Posté le 24-07-2002 à 16:23:09    

2415020 pour le 2 janvier ...
 
2515021 pour le 3 janviezr...
 
Etc :)


---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !
Reply

Sujets relatifs:

Leave a Replay

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