IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Fonction qui retourne le nombre de jours compris entre deux dates [PHP 5.2]


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de zemzoum89
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2010
    Messages
    373
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2010
    Messages : 373
    Points : 131
    Points
    131
    Par défaut Fonction qui retourne le nombre de jours compris entre deux dates
    bonsoir,

    Je cherche une fonction qui retourne le nombre de jours compris entre deux dates précises par exemple on lui donne deux date et il nous retourne le nombre de jour qu'il y a entre les deux dates... Merci beaucoup de m'aider...

  2. #2
    Rédacteur
    Avatar de Halleck
    Homme Profil pro
    Consultant PHP
    Inscrit en
    Mars 2003
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Consultant PHP

    Informations forums :
    Inscription : Mars 2003
    Messages : 597
    Points : 878
    Points
    878
    Par défaut
    Je t'ai adapté ci-dessous le code que j'utilise habituellement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    /**
     * convertir une date en timestamp
     * @param datetime
     * @return string
     */
    function toTimestamp($date) {
    	list($year, $month, $day, $hour, $minute, $second) = array_values($date);
    	return mktime($hour, $minute, $second, $month, $day, $year);
    }
     
    /***
     * Calcule la différente entre deux dates
     * @param datetime $date1 date 1
     * @param datetime $date2 date 2
     * @param string $typeStep type de différence (mois, annee...)
     * @param integer $valueStep "pas" de différence. Par exempel, pour un trimestre, mettre $typeStep à 'month' et $valueStep à "3"
     * @param string $round floor|ceil|(nothing|no|null)
     * @return integer
     */
    function getDifference($date1, $date2, $typeStep='month', $valueStep = 1,$round='floor') {
     
     
    	$b1     = toTimestamp($b1);
    	$b2     = toTimestamp($b2);
     
    	$multiplier = 0;
    	switch($typeStep) {
    	   case 'second':
    			$multiplier = 1;
    			break;
    	   case 'minute':
    			$multiplier = 60;
    			break;
    	   case 'hour':
    			$multiplier = 60*60;
    			break;
    	   case 'day':
    			$multiplier = 60*60*24;
    			break;
    		case 'week':
    			$multiplier = 60*60*24*7;
    			break;
    		case 'month':
    			$multiplier = 2628000;
    			break;
    		case 'quarter':
    			$multiplier = 2628000 * 4;
    			break;
    		case 'year':
    			$multiplier = 31536000;
    			break;
    	}
     
    	$n  = ($b2 - $b1) / $multiplier;
     
    	switch($round) {
    		case 'ceil':    $n  = ceil($n); break;
    		case 'floor':   $n  = floor($n); break;
    		default:        $n  = ceil($n); break;
    	}
    	return $n;
    }
    J'ai pas testé ce code, d'habitude je l'utilise en POO. Après, je pense qu'il doit exister une fonction toute faite en 5.3 avec DateTime, mais je ne la connais pas.
    Zend PHP Certified Engineer, Certifié Symfony2
    blog : blog.lepine.pro
    Secrétaire de l'AFUP (Association des Utilisateurs de PHP)

  3. #3
    Membre habitué Avatar de zemzoum89
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2010
    Messages
    373
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2010
    Messages : 373
    Points : 131
    Points
    131
    Par défaut Problème resolu
    Bonsoir,

    Voila j'ai réglé le problème grace à un truc simple qui est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    round((strtotime('2010-06-05') - strtotime('2010-05-30'))/(60*60*24)-1)+2;
    et votre solution aussi devrais marcher, merci beaucoup pour votre aide....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fonction Calcul automatique de nombre de jours ouvrable entre deux dates
    Par KiMbOoO dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/04/2011, 09h23
  2. Avoir le nombre de jour compris entre 2 dates
    Par azräel dans le forum VB.NET
    Réponses: 3
    Dernier message: 20/07/2009, 08h13
  3. Nombre de jours ouvrables entre deux dates
    Par lenny_ dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 27/10/2006, 12h13
  4. Réponses: 1
    Dernier message: 10/08/2006, 14h43
  5. Compter le nombre de jours écoulés entre deux dates
    Par koKoTis dans le forum VBScript
    Réponses: 8
    Dernier message: 07/08/2006, 19h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo