somma variabili temporali php

ciao,

vorrei sommare 2 variabili time nel codice per poi confrontare il risultato ottenuto con quello contenuto in un db (mediante una query).

Ho provato a sommare... $orafinen=$oran+$duratan.. ma in $orafinen mi ritrovo solo l'ora (es. 19).. io invece voglio 19:03:03( ottenuto dalla somma di =15:00:00+04:03:03) che poi andrņ a confrontare con i valori del db.

Come posso fare?.. c'č qualche funzione?

Grazie.

inviato 11 anni fa
gilles27
X 0 X

per fare operazioni sugli orari ti confiene convertire prima  tutto in secondi

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

Non l'ho affinata, ma credo faccia al caso tuo:

<?php

function somma($time1, $time2){
//$time1 e $time2 devono essere nel formato "oo:mm:ss"


$t1=explode(":",$time1);
$t2=explode(":",$time2);

//Senza considerare l'overflow
$sec=$t1[2]+$t2[2];
$min=$t1[1]+$t2[1];
$ora=$t1[0]+$t2[0];

//Effettuo il controllo sull'overflow
//61sec=1min+1sec ecc...
$min+=floor($sec/60);
$ora+=floor($min/60);

//Elimino l'overflow
$sec=fmod($sec,60);
$min=fmod($min,60);
$ora=fmod($ora,24);

//Aggiungo gli zeri ai valori minori di 10
$sec=($sec<10 ? "0" : "").$sec;
$min=($min<10 ? "0" : "").$min;
$ora=($ora<10 ? "0" : "").$ora;

$time=$ora.":".$min.":".$sec;
return $time;
}

?>

Per ottenere il risultato devi fare qualcosa del genere:

<?php

$t1="19:01:23";
$t2="01:58:50";
print somma($t1, $t2);

?>

 :bye:

risposto 11 anni fa
Nico Colonna
X 0 X

Vi ringrazio molto raga.. devo sistemare alcune cose poi proverņ con questa.

Vi farņ sapere.

Obligado :bye:

risposto 11 anni fa
gilles27
X 0 X

Sono riuscito a sistemare le cose.. ho adattato la funzione che ha fatto Fred: funziona perfettamente O0

Anche  la query al db.. sembra tutto ok, spero per sempre d'ora in poi..dopo tutte le modifiche..

Grazie a te Gianni e a te Fred!!.. dal tuo omonimo.

Per Gianni..: avevo trovato un sito con delle emoticons simpatiche ma non so se postare qui il link ..ho paura di essere :knuppel:..

fammi sapere come poterti contattare con mail..

..

Correggo il mio saluto: OBRIGADO.. (č portoghese..) :bye:

Federico

risposto 11 anni fa
gilles27
X 0 X

Per Gianni..: avevo trovato un sito con delle emoticons simpatiche ma non so se postare qui il link ..ho paura di essere :knuppel:..

fammi sapere come poterti contattare con mail..

via PVT (messaggio privato) o sul forum "Commenti e suggerimenti"

risposto 11 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda