Convertion format date
Résolu
OMAZ
-
tryan44 Messages postés 1288 Date d'inscription Statut Membre Dernière intervention -
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 ?
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:
- Convertion format date
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Format dat - Guide
- Hp usb disk storage format tool - Télécharger - Stockage
- Format apfs - Guide
12 réponses
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?
"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?
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?
Histoire d'être sure, vous voulez calculer le nombre de jours écoulés depuis l'année 1960 à "20090531" et rien de plus?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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);
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. ??
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?
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?
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
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