Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - Problema gestione ora
Forum - PHP - Problema gestione ora

Avatar
felixiuc91 (Normal User)
Rookie


Messaggi: 27
Iscritto: 16/04/2010

Segnala al moderatore
Postato alle 20:14
Giovedì, 31/05/2012
Salve,
Ho un problema , praticamente ho un database con un colonna chiamata "ora_inizio" ed è del formato h:m:s (es 20:32:00), ora però, voglio fare una select in cui ha come condizione
Codice sorgente - presumibilmente Plain Text

  1. where ora_inizio>ora_attuale

  
il problema e ricavare ora_attuale ho provato con
Codice sorgente - presumibilmente Plain Text

  1. $ora_attuale=date("h:i:s");


e se faccio echo, me lo stampa in modo giusto, e la condizione che non va.
In più devo aggiungere al campo ore +6(è il fuso orario del server).
PS. il campo ora_inizio del database è nel formato time
Grazie

Ultima modifica effettuata da felixiuc91 il 31/05/2012 alle 22:00
PM Quote
Avatar
Goblin (Member)
Expert


Messaggi: 375
Iscritto: 02/02/2011

Segnala al moderatore
Postato alle 21:13
Giovedì, 31/05/2012
Di solito i vari DBMS hanno delle costanti per definire l'ora corrente... che DB usi ??


Ibis redibis non morieris in bello
PM Quote
Avatar
felixiuc91 (Normal User)
Rookie


Messaggi: 27
Iscritto: 16/04/2010

Segnala al moderatore
Postato alle 21:28
Giovedì, 31/05/2012
MySQL ver.5.1

PM Quote
Avatar
Goblin (Member)
Expert


Messaggi: 375
Iscritto: 02/02/2011

Segnala al moderatore
Postato alle 21:43
Giovedì, 31/05/2012
I miei ricordi si MySQL risalgono alla versione 4.qualcosa, ma spero non sia cambiato molto..
i comandi da utilizzare sono CURRENT_TIME, dunque con:
Select CURRENT_TIME ti ritorna l'ora del server e il tuo where diventa:
Codice sorgente - presumibilmente Plain Text

  1. where ora_inizio>CURRENT_TIME

,
oppure, ma la mia memoria è labile ... prova con:
Codice sorgente - presumibilmente Plain Text

  1. where ora_inizio>TIME_FORMAT (NOW(), '%H:%i:%s')





Ibis redibis non morieris in bello
PM Quote
Avatar
felixiuc91 (Normal User)
Rookie


Messaggi: 27
Iscritto: 16/04/2010

Segnala al moderatore
Postato alle 22:00
Giovedì, 31/05/2012
con current_time pare che funziona, ma per aggiungere alle ore +6?

PM Quote
Avatar
Goblin (Member)
Expert


Messaggi: 375
Iscritto: 02/02/2011

Segnala al moderatore
Postato alle 22:15
Giovedì, 31/05/2012
Questo non lo ricordo se MySQL lo supporta.. io farei un semplice +21600, che sono i secondi ... ;)
Non ho un server MySQL per fare le varie prove, ma con Firebird funziona :)
Codice sorgente - presumibilmente Plain Text

  1. where ora_inizio>CURRENT_TIME+21600



resta il fatto del cambio giorno ... secondo me devi gestire un campo di tipo Timestamp...

Ultima modifica effettuata da Goblin il 31/05/2012 alle 22:16


Ibis redibis non morieris in bello
PM Quote
Avatar
Qwertj (Dev Team)
Guru


Messaggi: 678
Iscritto: 30/05/2011

Segnala al moderatore
Postato alle 9:39
Venerdì, 01/06/2012
io ci ho rinunciato, ho messo tutte le date come timestamp semplificando enormemente tutto

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 18:11
Venerdì, 01/06/2012
Esatto... perche' memorizzi la data come stringa?

Usa l'unix time.


Il mio blog: https://piero.dev
PM Quote