Convertion format date

Résolu
OMAZ -  
tryan44 Messages postés 1288 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Dans ma table j'ai une varible dat_maj qui est sous forme 20090531 (lenght 8, format9.,informat9., numeric) je souhaite avoir le nombre de jour que cela represente...avez vous des idées ?

A voir également:

12 réponses

tryan44 Messages postés 1288 Date d'inscription   Statut Membre Dernière intervention   220
 
Salut,

"je souhaite avoir le nombre de jour que cela représente"

A partir de quoi? Quelle est la référence pour calculer ce nombre de jour?
0
OMAZ
 
a partir de la date de creation 1960..
0
tryan44 Messages postés 1288 Date d'inscription   Statut Membre Dernière intervention   220
 
1960, c'est tout?

Histoire d'être sure, vous voulez calculer le nombre de jours écoulés depuis l'année 1960 à "20090531" et rien de plus?
0
OMAZ
 
oui c est ca genre aujourd'hui le 25/06/2012 c'est le 19169éme jour
cela concerne 26000 lignes
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
OMAZ
 
c'est depuis 01/01/1960
0
tryan44 Messages postés 1288 Date d'inscription   Statut Membre Dernière intervention   220
 
Je ne sais pas si c'est la meilleur façon de faire ni si c'est super exacte (à confirmer), néanmoins :
//date
$dat_maj = 20090531;
//date de référence
$date1 = mktime(0, 0, 0, 01, 01, 1960);
//date à comparer 
$date2 = mktime(0, 0, 0, substr($dat_maj,4,-2), substr($dat_maj,6), substr($dat_maj,0,-4));
//soustraction des 2 dates
$soustraction = $date1-$date2;
//on divise et on arrondi | 1 jours = 86400 secondes
$nbrjours = round($soustraction/86400);
//comme la date est antérieure au premier janvier 1970, on supprime le tiret
echo str_replace('-','',$nbrjours);
0
OMAZ
 
en faite normalement c'est juste une question de format mais impossible de faire la bascule si je fais dat_jr = today() il me donne 19169 car aujourd'hui est le 19169e depuis le 01/01/1960. Et c'est ce que je veux sauf que les dates à convertir sont sous forme 20120625 format9. informat9. ??
0
tryan44 Messages postés 1288 Date d'inscription   Statut Membre Dernière intervention   220
 
format9. informat9 fait partie du format de la date?
0
OMAZ
 
non non l'affichage est 20120625 quand je regarde le parametrage c'est format9. et en informat9.
0
tryan44 Messages postés 1288 Date d'inscription   Statut Membre Dernière intervention   220
 
Excusez moi mais je ne pige plus rien..!

Quand vous sortez vos dates avec $dat_maj, qu'est ce qui en ressort exactement?
C'est quoi ce paramétrage format9 et informat9? D'ou ça sort?
0
OMAZ
 
j ai trouvé !! j'ai fais en 2 etapes :

d'abord : variable x = put(de ma varialble,9.);
puis : format variable x YYMMDD10.;
enfin : variable y = input(variablex,DDMMYY10.);

ce qui donne en prenant :
dat_maj = 20090531

dat_maj2 = put(dat_maj,9.);
format dat_maj2 YYMMDD10. ;
dat_maj3 = input(dat_maj2,DDMMYY10.);

dat_maj3 = 16699
0
tryan44 Messages postés 1288 Date d'inscription   Statut Membre Dernière intervention   220
 
Tant mieux pour vous :).

Ceci dit, je n'ai absolument rien comprit à votre solution...
0