bene questo lavoro quasi ottimo. Ora usa questo codice per calcolare: 23:50 - 00:10 e guarda cosa ottieni. O anche 23:30 - 01:30. È un casino Perché ottenere la risposta l'altro modo in PHP è:
$date1 = strtotime($_POST['started']);
$date2 = strtotime($_POST['ended']);
$interval = $date2 - $date1;
$playedtime = $interval/60;
Ma ancora, funziona come la tua. Immagino di dover portare anche le date?
E ancora: il mio duro lavoro di ricerca e sviluppo mi ha aiutato.
if (isset($_POST['calculate'])) {
$d1 = $_POST['started'];
$d2 = $_POST['ended'];
if ($d2 < $d1) {
$date22 = date('Y-m-');
$date222 = date('d')-1;
$date2 = $date22."".$date222;
} else {
$date2 = date('Y-m-d');
}
$date1 = date('Y-m-d');
$start_time = strtotime($date2.' '.$d1);
$end_time = strtotime($date1.' '.$d2); // or use date('Y-m-d H:i:s') for current time
$playedtime = round(abs($start_time - $end_time)/60,2);
}
Ed è così che si calcola il tempo fino al giorno successivo. // edit. Per prima cosa ho avuto la data1 e la data2 passate. Ho bisogno di -1 perché questo calcolo arriva solo il giorno dopo e il primo appuntamento di ieri.
Dopo aver migliorato e un sacco di potenza del cervello con il mio amico siamo venuti fino a questo:
$begin=mktime(substr($_GET["start"], 0,2),substr($_GET["start"], 2,2),0,1,2,2003);
$end=mktime(substr($_GET["end"], 0,2),substr($_GET["end"], 2,2),0,1,3,2003);
$outcome=($end-$begin)-date("Z");
$minutes=date("i",$outcome)+date("H",$outcome)*60; //Echo minutes only
$hours = date("H:i", $outcome); //Echo time in hours + minutes like 01:10 or something.
Così è effettivamente necessario solo 4 righe di codice per ottenere il risultato. Puoi prendere solo pochi minuti o mostrare a tempo pieno (come la differenza è 02:32) 2 ore e 32 minuti. La cosa più importante: puoi ancora calcolare la notte in 24 ore, ovvero: Ora di inizio 23:50 per dire 01:00 (in 24 ore orologio 23:50 - 01:00) perché nella modalità 12 ore funziona comunque.
Cosa è più importante: non è necessario formattare l'input. È possibile utilizzare semplicemente 2300 come ingresso 23:00. Questo script convertirà l'input del campo di testo nel formato corretto da solo. L'ultimo script utilizza un modulo html standard con method = "get" ma è possibile convertirlo anche per utilizzare il metodo POST.
Si sta utilizzando 'Java',' JScript' o 'Javascript'? Sono tutte lingue diverse. – Paulpro
'javascript' è ** NON ** un linguaggio di scripting di' java'! – gdoron
Sono le date effettive nella casella di testo? Puoi pubblicare l'HTML e alcuni dati di esempio? – mattytommo