Page 1 sur 1

Nb de jours entre dates

Posté : 27 janv. 2010, 12:51
par Ayrton [ASC]
Bonjour à tous,

Je cherche une fonction sql qui me retournerait le nombre de jours entre un champ Date et la date actuelle ; je dois faire une difference sur le nombre de temps que l'on met pour répondre à certaines personnes qui soumettent des problèmes.
J'ai donc un champ "dateemission" et je dois faire une difference en jours entre mon champ date et la date actuelle.

Merci et bonne journée

cordialement

Ayrton

Re: Nb de jours entre dates

Posté : 27 janv. 2010, 13:46
par dunbar
Salut,

Voici un exemple.
<?php
//date_default_timezone_set('Europe/London');

function NbJours($debut, $fin) {

  $tDeb = explode("-", $debut);
  $tFin = explode("-", $fin);

  $diff = mktime(0, 0, 0, $tFin[1], $tFin[2], $tFin[0]) -
          mktime(0, 0, 0, $tDeb[1], $tDeb[2], $tDeb[0]);


  return(($diff / 86400));

}
$date_debut = "2010-01-23";
$date_fin   = date('Y-m-d');
// Comment apeler la fonction
$Nombres_jours =  NbJours($date_debut, $date_fin);

$s = ($Nombres_jours > 1)? 's' : null;
// Affiche 3
echo $Nombres_jours .' jour'.$s;



?>

Re: Nb de jours entre dates

Posté : 27 janv. 2010, 14:16
par jojolapine

Re: Nb de jours entre dates

Posté : 27 janv. 2010, 15:43
par Ayrton [ASC]
Re bonjour,

Un grand merci à dunbar et à jojolapine.
Avec tout ça, je devrais trouver mon bonheur. :D

Merci

Ayrton

Re: Nb de jours entre dates

Posté : 27 janv. 2010, 16:01
par stealth35
Salut,

Voici un exemple.
<?php
//date_default_timezone_set('Europe/London');

function NbJours($debut, $fin) {

  $tDeb = explode("-", $debut);
  $tFin = explode("-", $fin);

  $diff = mktime(0, 0, 0, $tFin[1], $tFin[2], $tFin[0]) -
          mktime(0, 0, 0, $tDeb[1], $tDeb[2], $tDeb[0]);


  return(($diff / 86400));

}
$date_debut = "2010-01-23";
$date_fin   = date('Y-m-d');
// Comment apeler la fonction
$Nombres_jours =  NbJours($date_debut, $date_fin);

$s = ($Nombres_jours > 1)? 's' : null;
// Affiche 3
echo $Nombres_jours .' jour'.$s;



?>
tu sais que strtotime ca exite au lieu de faire

Code : Tout sélectionner

$tDeb = explode("-", $debut); mktime(0, 0, 0, $tDeb[1], $tDeb[2], $tDeb[0]);
tu fais

Code : Tout sélectionner

$tDeb = strtotime($debut);

et puis sinon ca existe deja sous php pas besion de réinventer la roue :wink:
$d1 = new DateTime('2010-01-23');
$d2 = new DateTime('now');
	
echo $d1->diff($d2)->format('%d');
sinon le top, comme c'est dis plus haut, c'est direct en SQL

Re: Nb de jours entre dates

Posté : 29 janv. 2010, 10:56
par Antjac
Direct en MySQL
SELECT DATEDIFF(NOW(),'1997-12-30')

Re: Nb de jours entre dates

Posté : 29 janv. 2010, 19:01
par AB
et puis sinon ca existe deja sous php pas besion de réinventer la roue :wink:
Oui enfin avec "déjà" on pourrait croire que ça existe depuis toujours.
Tout le monde n'est pas né avec php 5.2 :)

Re: Nb de jours entre dates

Posté : 29 janv. 2010, 21:57
par stealth35
et puis sinon ca existe deja sous php pas besion de réinventer la roue :wink:
Oui enfin avec "déjà" on pourrait croire que ça existe depuis toujours.
Tout le monde n'est pas né avec php 5.2 :)
ouai enfin php 5.2 ca quand meme plus de 4 ans, donc aucune excuse pour pas avoir vu les nouveautés :mrgreen: