differenza tra 2 date

frenkytribe

Utente Attivo
17 Gen 2013
87
0
0
Buonasera a tutti,
so che l'argomento è già stato trattato più volte, ma non sono riuscito lo stesso a comprendere.

In pratica estrapolo una data dal DB, gli aggiungo 1 giorno e poi devo stampare quante ore e minuti rimangono da adesso a quella data.
Esempio:
estraggo dal db '2013/11/16 18:10:00', la formatto in '16/11/2013 18:10:00', la stampo con 1 giorno in più '17/11/2013 18:10:00' e sotto dovrei stampare quante ore e minuti rimangono da 'adesso' al '17/11/2013 18:10:00'.

Questo è quello che ho fatto io fino ad ora, ed il risultato è sempre 0.
PHP:
$dt_occ		= mysql_result($info,0,"occ_data"); // estraggo data da DB
$dt_occ		= strtotime($dt_occ); // la converto
$dt_occ		= strtotime('+1 day' , $dt_occ); // aggiungo 24 ore (1 giorno)
$dt_unico		= date('d/m/Y H:i:s',$dt_occ); // la formatto in italiano
$dt_il			= date('d/m/Y',$dt_occ); // data
$dt_alle		= date('H:i',$dt_occ); // orario
echo "Scade il ".$dt_il." alle ".$dt_alle; // stampo la data di scadenza
$adesso = strtotime("now"); // data di adesso
$adesso = date('d/m/Y H:i:s',$adesso); // formatto in italiano
$diff = $dt_unico - $adesso; // differenza tra le date
$hours = $diff / ( 60 * 60 ); // dovrebbe restituirmi le ore
$mins = $diff / 60; // dovrebbe restituire i minuti
echo "<br>Scadenza tra ".$hours.":".$mins."."; // mi stampa sempre 0:0
 

frenkytribe

Utente Attivo
17 Gen 2013
87
0
0
Risolto, grazie lo stesso.

PHP:
// estraggo data da DB
$dt_occ        = mysql_result($info,0,"occ_data");

// la converto in timestamp
$dt_occ        = strtotime($dt_occ);

// data +1 giorno in formato timestamp
$dt_occ_ts    = strtotime('+1 day' , $dt_occ);

// la formatto in italiano
$dt_unico    = date('d/m/Y H:i:s',$dt_occ_ts);

// data
$dt_il        = date('d/m/Y',$dt_occ_ts);

// orario
$dt_alle    = date('H:i',$dt_occ_ts);

// stampo la data di scadenza
echo "Scade il ".$dt_il." alle ".$dt_alle."<br />";

// data di adesso in formato timestamp
$adesso_ts    = time();

// differenza tra le date
$diff = $dt_occ_ts - $adesso_ts;

// restituisce le ore
$hours = floor($diff / (60 * 60));

//secondi rimanenti su cui calcolare i minuti
$diff = $diff - ($hours * 60 * 60);

// dovrebbe restituire i minuti
$mins = floor($diff / 60);

echo "<br>Scadenza tra ".$hours.":".$mins.".";
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, ti ringrazio intanto per aver postato la soluzione,
volevo poi proporti una versione alternativa stile OOP che fa uso della classe DateTime() ( disponibile dalla versione 5.2.0 di php) e la classe mysqli() per la connessione al database che dovresti studiare per sostituire la vecchia estensione mysql
PHP:
<?php

$sql = new mysqli("localhost", "root", "", "database");

$query = "SELECT (data + INTERVAL 1 DAY) as data FROM tabella LIMIT 1";

$row = $sql->query($query)->fetch_array(MYSQLI_ASSOC);

$data = new DateTime($row['data']);
$adesso = new DateTime(date("Y-m-d h:i:s"));
$diff = $adesso->diff($data);

echo "Scade il " . $data->format("d/m/Y") . " alle " . $data->format("H:i");
echo "<br>tra " . $diff->h . " ore e " . $diff->i . " minuti";
?>
 

frenkytribe

Utente Attivo
17 Gen 2013
87
0
0
Ciao, è già da tempo che sento parlare di questa classe mysqli ma sinceramente non ho capito a che serve. Ho letto che la mysql è ormai deprecata, quindi cosa comporta questo? Quali sono i benefici di mysqli? Perché conviene cambiarla?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
mysqli sono le istruzioni che andranno a sostituire le mysql, possono essere utilizzate con stile a oggetti o stile procedurale (quasi simile alle vecchie mysql).
bisogna cambiarle perche se il tuo host aggiorna php alla versione 5.5, dal manuale php
Warning
This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:
mysqli_query()
PDO::query()
per i vantaggi non ti so dire esattamente, ma il "vantaggio" più immediato è che chi ha fatto qualcosa con le mysql deve rompersi i co...ni a correggere il tutto (questo perche qualche guru ha mangiato troppo e di notte ha avuto gli incubi)
 
Discussioni simili
Autore Titolo Forum Risposte Data
V Calcolare la differenza tra due date in PHP PHP 1
Monital Differenza tra date PHP 8
M Differenza tra date e countdown PHP 4
Gabriele Visioli Differenza tra hosting e hosting WordPress Hosting 4
S Differenza tra le funzioni include () e require ()? PHP 1
U [PHP] Differenza tra amministratore e utente PHP 2
M PHP Arrotondamento minuti in differenza tra due Orari PHP 9
V [PHP] Differenza reale tra bindParam e bindValue PHP 8
Z Google: qual'è la differenza tra Popolarità e Autorevolezza di un sito? SEO e Posizionamento 1
M Qual'è la differenza tra Server.Transfer e Response.Redirect? ASP.NET 1
Giacomo92 Differenza tra Webmaster e Web designer? Webdesign e Grafica 2
V Differenza tra operatori == e === in javascript? Javascript 1
felino [C#] Differenza tra ClipboardPasted e ClipboardPasting .NET Framework 2
M Calcolare differenza temporale tra datetime salvati sui records di una tabella mysql PHP 18
Monital Differenza tra int smallint etc. Database 5
A Differenza tra anteporre o posporre l'operatore di incremento nel ciclo for Javascript 5
C Differenza tra due ore PHP 17
PenguinLover Differenza tra detrazioni e deduzioni? Leggi, Normative e Fisco 3
YellowMan Differenza tra Server Virtuale e Cloud Server Cloud Computing e Cloud Server 1
M Differenza tra precision e scale PHP 2
novello88 Differenza tra include() e require() PHP 18
M [VB.Net] Che differenza c'è tra CType e DirectCast? ASP.NET 1
S Differenza tra queste righe di codice Javascript 2
S Differenza tra orari sballata! PHP 2
M Differenza tra richiesta sincrona e asincrona Ajax 0
emanuelevt differenza tra $array[]='valore' o array_push($array,'valore') PHP 2
emanuelevt differenza concreta tra array_rand e shuffle PHP 2
SolidSnake4 differenza tra sleep() e microtime() PHP 9
M Differenza tra valori sulla stessa colonna Database 10
A Differenza comportamento tra click mouse e pressione tasto invio Visual Basic 0
borgo italia differenza tra applet e script? Javascript 10
I Differenza tra blog e sito Webdesign e Grafica 12
E Differenza tra utenti e hits [Era: Statistiche accessi al sito] Discussioni Varie 2
B Che differenza c'è tra un sito professionale e uno no ? Webdesign e Grafica 7
V Differenza di visualizzazione tra IE e FireFox HTML e CSS 4
S Differenza date record successivi MS Access 7
T differenza fra mysql xampp e un mysql server Database 0
Emix [PHP] Differenza Date + Ore PHP 3
S [PHP] Eseguire differenza su dati SQL presenti sulla stessa colonna PHP 1
K Certificato SSL (https) gratuito o a pagamento? che differenza c'è? Server Dedicati e VPS 1
andrea.peo Calcolo differenza fra record attivo e precedente PHP 1
G Calcolo differenza valori provenienti da una tabella PHP 0
giap Classi stili/stili per singoli TAG- differenza- HTML e CSS 2
S Differenza data PHP 1
C Ma perchè!!!! Differenza visualizzazione con iOS Safari HTML e CSS 2
Shyson Differenza UTF-8 e gli altri HTML e CSS 12
L Reale differenza con il precedente HTML HTML e CSS 1
N Con Google Crome a differenza di Explore i comandi per la musica non funzionano Javascript 0
G Differenza fra due date PHP 5
I Differenza data PHP 2

Discussioni simili