Php et les dates...

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


alkapote
WRInaute discret
WRInaute discret
 
Messages: 166
Inscription: 25 Nov 2003

Php et les dates...

Message le Sam Fév 28, 2004 17:41

Bonjour,

Je souhaiterais créer un fonction qui me permetterais d'avoir le nombre de jours qui s'est déroulé depuis telle date (au format "2002-07-05") jusqu'à maintenant (le moment où la fonction s'exécute)

Cordialement,

Raphaël
Dernière édition par alkapote le Mar Nov 15, 2005 21:57, édité 1 fois.


cleden
WRInaute passionné
WRInaute passionné
 
Messages: 1194
Inscription: 6 Jan 2003

Message le Sam Fév 28, 2004 18:04

Bonjour,

Je pense que cette fonction te conviendra:
<?
function diff_date($date1, $date2)
{
$tab1 = explode('-', $date1);
$tab2 = explode('-', $date2);
$timestamp1 = mktime(12, 0, 0, $tab1[1], $tab1[0], $tab1[2]);
$timestamp2 = mktime(12, 0, 0, $tab2[1], $tab2[0], $tab2[2]);
return floor((($timestamp1-$timestamp2))/(3600*24));
}
?>

Pour afficher le résultat
<?
$auj = date('d-m-Y', time());
$nbjours=diff_date($auj, '??-??-????');/// choisir la date que tu souhaite
echo $nbjours;
?>

Loïc.


alkapote
WRInaute discret
WRInaute discret
 
Messages: 166
Inscription: 25 Nov 2003

Message le Sam Fév 28, 2004 18:06

Génial! je teste cela de suite!...


alkapote
WRInaute discret
WRInaute discret
 
Messages: 166
Inscription: 25 Nov 2003

Message le Sam Fév 28, 2004 18:13

pour
Code: Tout sélectionner
$aujdate = date('d-m-Y', time());


ne faudrait-il pas mettre
Code: Tout sélectionner
$aujdate = date('Y-m-d', time());


plutôt? car mes dates sont comme écrit plus haut au format "2002-07-05"...


alkapote
WRInaute discret
WRInaute discret
 
Messages: 166
Inscription: 25 Nov 2003

Message le Sam Fév 28, 2004 18:14

en tout cas c'est ce que je lis dans ma base de données...


alkapote
WRInaute discret
WRInaute discret
 
Messages: 166
Inscription: 25 Nov 2003

Message le Sam Fév 28, 2004 19:37

Avez-vous un idée?


alkapote
WRInaute discret
WRInaute discret
 
Messages: 166
Inscription: 25 Nov 2003

Message le Sam Fév 28, 2004 19:45

Pour la différence de date entre le 26 Février 2004 et aujourd'hui (28 Février 2004), il me sort 12476 jours!...


Il y a comme un bug... :?


cleden
WRInaute passionné
WRInaute passionné
 
Messages: 1194
Inscription: 6 Jan 2003

Message le Sam Fév 28, 2004 20:02

En je suis parti sur des dates au formats Français JJ-MM-AAAA, tu tiens absolument à utiliser des AAAA-MM-JJ ? Si tu n'articules pas le script sur une base de donnée il n'y a pas de raisons.

Pour utiliser les dates AAAA-MM-JJ, il ne suffit pas de faire la modif que tu as mis plus haut.

tuisp
WRInaute passionné
WRInaute passionné
 
Messages: 2076
Inscription: 27 Juin 2003

Message le Sam Fév 28, 2004 20:10

alkapote a écrit:en tout cas c'est ce que je lis dans ma base de données...

Il y a bien l'air d'y avoir une base de données, justement...


cleden
WRInaute passionné
WRInaute passionné
 
Messages: 1194
Inscription: 6 Jan 2003

Message le Sam Fév 28, 2004 20:12

Le script pour des dates AAAA-MM-JJ
<?
function diff_date($date1, $date2)
{
$tab1 = explode('-', $date1);
$tab2 = explode('-', $date2);
$timestamp1 = mktime(12, 0, 0, $tab1[1], $tab1[2], $tab1[0]);
$timestamp2 = mktime(12, 0, 0, $tab2[1], $tab2[2], $tab2[0]);
return floor((($timestamp1-$timestamp2))/(3600*24));
}
?>

<?
$auj = date(Y-m-d', time());
$nbjours=diff_date($auj, '????-??-??');/// choisir la date que tu souhaite
echo $nbjours;
?>

Loïc.


alkapote
WRInaute discret
WRInaute discret
 
Messages: 166
Inscription: 25 Nov 2003

Message le Sam Fév 28, 2004 20:53

En je suis parti sur des dates au formats Français JJ-MM-AAAA, tu tiens absolument à utiliser des AAAA-MM-JJ ? Si tu n'articules pas le script sur une base de donnée il n'y a pas de raisons.

Pour utiliser les dates AAAA-MM-JJ, il ne suffit pas de faire la modif que tu as mis plus haut.


oki... :-)

Le script pour des dates AAAA-MM-JJ
Citation:
<?
function diff_date($date1, $date2)
{
$tab1 = explode('-', $date1);
$tab2 = explode('-', $date2);
$timestamp1 = mktime(12, 0, 0, $tab1[1], $tab1[2], $tab1[0]);
$timestamp2 = mktime(12, 0, 0, $tab2[1], $tab2[2], $tab2[0]);
return floor((($timestamp1-$timestamp2))/(3600*24));
}
?>

Citation:
<?
$auj = date(Y-m-d', time());
$nbjours=diff_date($auj, '????-??-??');/// choisir la date que tu souhaite
echo $nbjours;
?>

Loïc.


Merci beaucoup pour cette petite fonction très pratique!

Cordialement,

Raphaël


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités