• User

    prova ad adattare questo al tuo codice (io nn posso testarlo)

    $daysleft = $date2->diff($date1)->format('%a');
    echo $daysleft.' '.($daysleft == 1 ? 'day' : 'days').' remaining';
    

  • User Attivo

    ho adattato questo, ma non va 😞

    [PHP]
    $start = $row['start'];

    $dateOfStart = $start;
    $today = date("Y-m-d");

    $daysleft = $dateOfStart->diff($today)->format('%a'); echo $daysleft.' '.($daysleft ==1?'Anno':'Anni').' remaining';?>

    [/PHP]


  • User
    $diff = abs($dateOfStart - $today);
    
    $a=explode(' ',$diff);
    **if**($a0]>0){
        $y=$a0]."  anni  ";
    }**else**{$y="  anno";}
    **echo **$y;
    

  • User Attivo

    :bho:non funziona
    visualizza sempre Anni

    [PHP]

    $start = $row['start'];

    $dateOfStart = $start;
    $today = date("Y-m-d");
    $diff = abs($dateOfStart - $today);

    $a=explode(' ',$diff);
    if($a[0]>0){
    $y=$a[0]." anni ";
    }else{$y=" anno";}
    echo $y;

    [/PHP]


  • User
    $diff = abs($dateOfStart - $today);
    
    $a=explode(' ',$diff);
    **if**($a0]>1){
        $y=$a0]."  anni  ";
    }**else**{$y=$diff."  anno";}
    **echo **$y;
    

  • User Attivo

    chiabgigi ciao,
    perfetto, funziona adesso 🙂

    [PHP]<?php // code calcolo anno code by chiabgigi from forum GT

    $start = $row['start'];

    $dateOfStart = $start;
    $today = date("Y-m-d");
    $diff = abs($dateOfStart - $today);

    $a=explode(' ',$diff);
    if($a[0]>1){
    $y=$a[0]." anni ";
    }else{$y=$diff." anno";}

    echo '<font color="blue">'. $y . '&nbsp' . nel .'&nbsp'. Cinema . '</font>';

    ?>
    [/PHP]

    mi sono accorto che ho commesso un errore, questo codice serve per calcolare quanto anni l'attore ha lavorato nel cinema, questo va bene se ancora attivo, ma io
    ho inserito un altro campo per segnalare la fine carriera, questo:
    **
    end** --------------> year(4)

    si potrebbe fare che se e' vuoto il campo end continua il conteggio con la l'anno attuale (today), ma se e' compilato conteggiare gli anni trascorsi tra start e **end

    riepilogo campi:

    start --------------> year(4)

    end **--------------> year(4)

    qui un esempio, dovrebbe calcolarmi 48 anni e non 51

    image

    grazie ancora


  • User
    
    $start_date = date_create("1968-01-01");
    $end_date = date_create("2016-01-01");
    
    $diff = date_diff($start_date,$end_date);
    **echo **"Difference between two dates: ".$diff->format("%y"). "years";
    
    /* oppure */
    
    
    **echo **"Difference: " .$diff->y . " years, <br>" . $diff->m . " months, <br>" . $diff->d . " days.";
    
    
    

    Difference between two dates: 48years
    Difference:
    48 years,
    0 months,
    0 days.


  • User Attivo

    ciao chiabgigi, a questo ci ero arrivato, pero' bisogna integrare il codice sopra (con today, anni, anno, start) con questo, ho provato ma si vede che sono negato


  • User

    hai scritto

    **riepilogo campi:

    start --------------> year(4)

    end **--------------> year(4)

    qui un esempio, dovrebbe calcolarmi 48 anni e non 51

    Qui implica che hai un inizio e una fine carriera.

    poi

    bisogna integrare il codice sopra (con today, anni, anno, start)

    se metti today (oggi) è inevitabile che ti conteggia tutto
    è logico start/end

    
    **<?php
    **$row = date('1968-02-02');
    $start = $row;
    
    $dateOfStart = $start;
    $today = date("2016-02-02");
    
    $diff = abs($dateOfStart - $today);
    
    $a=explode(' ',$diff);
    **if**($a0]>1){
        $y=$a0]."  anni  ";
    }**else
    ****  **{$y=$diff."  anno";
    }
    
    **echo **'<div style="color:#0000FF;">'.$y.' nel cinema.</div>';
    **?>****
    **
    

    48 anni nel cinema.


  • User Attivo

    questo codice va bene se sono compilati i campi start ed end, ma nel mio database ci sono moltissimi record (il 90%) in cui e' presente solo **start **(integrato con l'anno attuale, today)


  • User Attivo

    risolto 🙂
    questo funziona benissimo

    [PHP]
    <?php
    $start = $row['start'];
    $end = !empty($row['end']) ? $row['end'] : date('Y');
    $diff = $end - $start;
    echo '<font color="blue">'. $diff . ' Year' . ($diff > 1 ? 's' : '') . '&nbsp' . In . '&nbsp' . The . '&nbsp' . Business . '</font>';
    ?>

    [/PHP]