Calcoli fra orari (in formato ore:minuti)

  • Creatore Discussione Creatore Discussione Maures
  • Data di inizio Data di inizio

Maures

Utente Attivo
25 Mar 2015
45
0
0
Buongiorno a tutti,
sto cercando un metodo rapido per calcolare la differenza tra due orari nel formato hh:mm passati come stringa.

Quello che mi serve è principalmente il calcolo del numero di ore e, nel caso di avanzo di minuti, devono essere visti come decimali (es. intervallo tra gli orari: 01:30 --> 1,5)

Il calcolo andrà fatto solo nel caso vengano inserite le mezzore, mentre in tutti gli altri casi il calcolo non andrà fatto (e fin qui ci sono!): ho trovato alcune soluzioni, ma mi sembrano troppo articolate, quindi chiedo consiglio a voi!

Altra cosa: si può impostare il formato DATETIME di mysql in modo che, nell'orario, si vedano solo le ore e i minuti, ignorando i secondi?

Grazie a tutti.
 
Puoi fare una cosa del genere.. ti fai tutti i tuoi calcoli in qualsiasi formato.. Poi trasformi il formato data e ttamite questa funzioncina lo fai apparire come ti pare ( ampia la funzione in base alle tue necessità )..

PHP:
function ora_personal($ora)
{
  // Creo una array dividendo l'ora 20:30:56 sulla base dei :
  $array = explode(":", $ora); 

  // Riorganizzo gli elementi in stile 20:30 escludendo i secondi..
  $ora_personal = $array[0].":".$array[1]; 

  // Restituisco il valore della data in formato italiano
  return $ora_personal; 
}

Spero ti sia utile..
 
PHP:
function diff_hour($t1, $t2) {
    return abs(strtotime($t1)-strtotime($t2))/3600;
}

echo diff_hour('02:00','04:00'); // ritorna 2
echo diff_hour('02:00','04:30'); // ritorna 2,5
echo diff_hour('04:30','02:00'); // ritorna 2,5

Dovrebbe essere ciò che cerchi ;)
 

Discussioni simili