E' corretto secondo voi questo passaggio?
$num=180000
$secondi = $num * 86400;
//Li trasformo in timestamp
$timestamp_secondi=mktime(0,0,$secondi,0,0,date("Y "));
$tempo_chiusura=date("H:i",$timestamp_secondi);
E' corretto secondo voi questo passaggio?
$num=180000
$secondi = $num * 86400;
//Li trasformo in timestamp
$timestamp_secondi=mktime(0,0,$secondi,0,0,date("Y "));
$tempo_chiusura=date("H:i",$timestamp_secondi);
Il mio problema e' che se faccio la sottrazione di due timestamp, ricavati dalla funzione mktime, esempio 08:50 - 08:10, ottengo un risultato corretto, 08:40.
Se faccio la differenza delle ore 04:40 - 00:12 ottengo un risultato sbagliato perche?
Ovviamente la sottrazione la faccio tra i timestamp, e poi riconverto in formato ora con la funzione date.
Aiuto E' urgente!!
Sul primo post![]()
sul secondo:
1-1-2000 è una data di comodo. serve solo per formare il timestamp.codice:$differenza=mktime(4,40,0,1,1,2000) - mktime(0,12,0,1,1,2000); $tempo_chiusura=date("H:i",$differenza); echo " $tempo_chiusura";
![]()
![]()
![]()
io faccio:
$chiusura_mattino="01:09:00";
$arr_chiusura_mattino=explode(":",$chiusura_mattin o);
$H_chiusura_mattino=$arr_chiusura_mattino[0];
$M_chiusura_mattino=$arr_chiusura_mattino[1];
$chiusura_pomeriggio="00:12:00";
$arr_chiusura_pomeriggio=explode(":",$chiusura_pom eriggio);
$H_chiusura_pomeriggio=$arr_chiusura_pomeriggio[0];
$M_chiusura_pomeriggio=$arr_chiusura_pomeriggio[1];
$apertura_effettiva=mktime($H_chiusura_mattino,$M_ chiusura_mattino,0,1,1,2000) - mktime($H_chiusura_pomeriggio,$M_chiusura_pomerigg io,0,1,1,2000);
echo date("H:i",$apertura_effettiva);
l'output e' 01:57
PERCHE!???!!!!![]()
![]()
:master:
perchè ?
non capisco cosa vuoi calcolare.....
Se fai una sottrazione di due valori timestamp quello che rimane è il resto, non un timestamp.Originariamente inviato da marasma1
voglio fare 01:09:00 - 00:12:00
Nel tuo caso 3420 sono i secondi che andranno convertiti ore: minuti
3420/60 = minuti 57. resto 0
![]()
Prova questo:
in pratica ho ricostruito un timestamp valido.Codice PHP:
$chiusura_mattino="01:09:00";
list($More, $Mmin, $Msec) =explode(":",$chiusura_mattino);
$chiusura_pomeriggio="00:12:00";
list($Pore, $Pmin, $Psec) = explode(":",$chiusura_pomeriggio);
$ap_eff = mktime($More,$Mmin,$Msec,1,1,2000) - mktime($Pore,$Pmin,$Psec,1,1,2000);
echo date("H:i", mktime("$ap_eff" % 60, "$ap_eff" / 60,0,1,1,2000));
![]()