[PHP] Convertire un orario in un numero decimale

Discussione in 'PHP' iniziata da sanzweb, 6 Agosto 2019.

  1. sanzweb

    sanzweb Nuovo Utente

    Registrato:
    9 Luglio 2019
    Messaggi:
    4
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    Ciao A tutti del forum.

    avrei la necessità di convertire un orario formattato 08:30 nel corrispondente numero 8,50 (quindi ore e mezzo)

    Questo per poter sommare le ore lavorate da un dipendente in una tabella dove ho usato il plugin DataTables. La API che fa la somma di una colonna chiede dei numeri float in ingresso.

    non ci sono orari strani tipo 08:43 ecc....ma solo mezze ore: 08:00 08:30 ecc...
    La tabella la carico da un database

    vi ringrazio anticipatamente per la vostra risposta.
    Sanzweb
     
  2. Tommy03

    Tommy03 Utente Attivo

    Registrato:
    6 Giugno 2018
    Messaggi:
    58
    Mi Piace Ricevuti:
    5
    Punteggio:
    8
    Sesso:
    Maschio
    Una possibile soluzione potrebbe essere usando la funzione substr:
    PHP:
    $orario =  ...; //orario in formato normale (es. 08:30)
    $ore substr($orario,0,2); //individua il numero di ore
    $min substr($orario,3,2); //individua il numero di minuti
    if($min==30){
    $risultato=$ore.",5";
    }else{
    $risultato=$ore;
    }
    echo 
    $risultato//se $orario è 08:30, dovrebbe restituire 08,5
    Non sono sicuro, ma dovrebbe funzionare.
     
  3. marino51

    marino51 Utente Attivo

    Registrato:
    28 Febbraio 2013
    Messaggi:
    2.518
    Mi Piace Ricevuti:
    123
    Punteggio:
    63
    Occupazione:
    free lance
    Località:
    Lombardia
    PHP:
    function time2float($time) {
        
    $ta explode(":"$time);
        return 
    $ta[0] + ($ta[1] / 60);
    }

    echo 
    time2float("8:30");
     
Sto caricando...

Condividi questa Pagina