Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Differenza tra date mesi e anni

    Ciao a tutti, ho questo problema: dovrei calcolare la differenza in mesi e in anni tra 2 date.

    Premesso che ho già una funzione che mi calcola la differenza tra 2 date (in minuti)

    Codice PHP:
    function dateDiff($date1$date2){
        list(
    $gg1,$mm1,$yy1)=explode("/",$date1);
        list(
    $gg2,$mm2,$yy2)=explode("/",$date2);   
        
    $data1 mktime(0,0,0,$mm1,$gg1,$yy1);
        
    $data2 mktime(0,0,0,$mm2,$gg2,$yy2);
        
    $diff = ($data2-$data1)/60;//restituisce la differenza in minuti
        
    return $diff;

    grazie

  2. #2
    beh, personalmente, una volta che hai gli UNIX TimeStamp corrispondenti alla date puoi estrarre direttamente i mesi e gli anni di entrambi:

    Codice PHP:
    function dateDiff($date1$date2){
        list(
    $gg1,$mm1,$yy1)=explode("/",$date1);
        list(
    $gg2,$mm2,$yy2)=explode("/",$date2);   
        
    $data1 mktime(0,0,0,$mm1,$gg1,$yy1);
        
    $data2 mktime(0,0,0,$mm2,$gg2,$yy2);
        
    $mese1 date('n'$data1);
        
    $mese2 date('n'$data2);
        
    $anni1 date('Y'$data1);
        
    $anni2 date('Y'$data2);

        
    //Qui fai una gabola
        
    $rappr1 $mese1 $anni1 12;
        
    $rappr2 $mese2 $anni2 12;
        
    //Questi valori sono una specie di time stamp, ma con la precisione in mesi
        
    $diff $rappr2 $rappr1;
        
    $anniDiff floor($diff 12);
        
    $mesiDiff $diff $anniDiff 12;
        
    //A questo punto di fai quello che vuoi tipo
        
    return array("anni" => $anniDiff"mesi" => $mesiDiff);
    }

    //Chiamando
    print_r(dateDiff("15/02/1955""02/05/2006"));
    //Ottieni
    /*
     * Array ( [anni] => 51 [mesi] => 3 ) 
     * 
     */ 
    Ovviamente è abbastanza approssimativo, dato che non è proprio 51 anni e 3 mesi, ma 51 anni, 2 mesi e 15 giorni
    I DON'T Double Click!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.