Page 1 sur 1

encore des dates

Posté : 10 avr. 2008, 14:17
par jobart
Bonjour,
j'ai trouvé un petit script qui liste entre les dates qui me permet d'approfondir encore un petit peu les dates
function diff_date($jour , $mois , $an , $jour2 , $mois2 , $an2){ // $calcule la dierence de jours entre les deux dates
$timestamp2 = mktime(0, 0, 0, $mois, $jour, $an);
$timestamp = mktime(0, 0, 0, $mois2, $jour2, $an2);

$diff = floor(($timestamp - $timestamp2) / (3600 * 24));
return $diff;
}

$nbr_jours = diff_date($jour , $mois , $an , $jour2 , $mois2 , $an2);// recupere nombre de jours sur variable $nbr_jours

echo" ça fait: $nbr_jours Jour(s)<br>";//verif nombre de jours sur variable $nbr_jours



function dateop($jour , $mois , $an , $i){ // $i correspond au nombre de jour à ajouter a la date
$temp = array();
for($j=0;$j<=$i;$j++){
$timestamp = mktime(0, 0, 0, $mois, $jour+$j, $an);// aditione la diference de jours à la date de debut
$temp[$j] = date("Y-m-d", $timestamp);


}
return $temp;
}
$tab = array();
$tab = dateop($jour , $mois , $an , $nbr_jours);
for($k=0;$k<count($tab);$k++){

echo" Jour $k : $tab[$k]<br>";
} 


Comment transformer la fonction dateop()
pour que je puisse récupérer le jour ,le mois et l'année séparés?

Posté : 10 avr. 2008, 14:28
par Ryle
Avec la fonction explode() tu peux transformer une chaine en tableau en séparant les différents se trouvant de part et d'autre du délimiteur que tu auras spécifié... cela peut être une piste pour ce que tu veux faire :)

Posté : 10 avr. 2008, 14:40
par jobart
c'est pas marrant, trop facile , je l'avais oublié celle là :lol:
merci =D>

une petite question encore

une date 20080410 peut on la transformer en 2008-04-10 ?

Posté : 11 avr. 2008, 01:05
par AB
Il me semble qu'il y a un tuto sur ce site pour la manipulation des formats des dates...

Posté : 11 avr. 2008, 10:07
par jobart
ben vi j'ai regardé mais j'ai pas compris comment séparer 20080410 en 2008 04 10 :oops:

Posté : 11 avr. 2008, 11:39
par AB
Le tout serait de savoir d'où vient cette donnée. Car se serait certainement plus facile de l'enregistrer au bon format dès le départ.

Sinon les fonctions sur les dates c'est ici http://fr.php.net/manual/fr/ref.datetime.php

Au pire si tu ne trouve pas facilement ton bonheur tu peux toujours extraire les quatre premiers caractères puis les deux suivant et relier le tout par un -
$time='20080410';

$separe['annee'] = substr($time,0,4);
$separe['mois'] = substr($time,4,2);
$separe['jour'] = substr($time,6,2);

$nouveau_format = implode('-',$separe);
echo $nouveau_format;
Attention tu auras un bug pour les années supérieures à 9999 :lol: