Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407

    [MySQL]Calcolare orario

    Ciao, in una tabella MySQL ho un campo chiamato `Orario` formato `time`:

    codice:
    Orario
    15:51:00
    12:30:00
    12:55:00
    17:31:00
    16:56:00
    19:49:00
    10:50:00
    01:50:00
    Come faccio per ciascun orario a calcolare le tre ore prima e le tre ore dopo?

    Cioè:

    codice:
    Prima		Orario		Dopo
    12:51:00	15:51:00	18:51:00
    09:30:00	12:30:00	15:30:00
    09:55:00	12:55:00	15:55:00
    14:31:00	17:31:00	20:31:00
    13:56:00	16:56:00	19:56:00
    16:49:00	19:49:00	22:49:00
    07:50:00	10:50:00	13:50:00
    22:50:00	01:50:00	04:50:00
    Ho provato con questa guida ma non ne vengo a capo:
    http://dev.mysql.com/doc/refman/5.5/...nction_addtime

    Grazie

  2. #2
    cosa intendi per tre ore prima e tre ore dopo?

    io per calcolare la differenza di ora, uso questa query:

    Codice PHP:
    $crono_diff=mysql_query("SELECT timediff(crono2, crono) AS crono_diff FROM giorni WHERE id=('$id')"); 

  3. #3
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Grazie per la risposta.

    Intendo dire che ho un orario di partenza e devo calcolare rispetto a questo orario di partenza le tre ore prima e le tre ore successive:

    Orario di partenza: 01:50:00
    Tre ore prima rispetto all'orario di partenza: 22:50:00
    Tre ore dopo rispetto all'orario di partenza: 04:50:00

  4. #4
    Quindi dall'orario che recuperi usando la tua query, devi prima aggiungere 3 ore e poi sottrarre 3 ore, corretto?

  5. #5
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Originariamente inviato da timberwolf
    Quindi dall'orario che recuperi usando la tua query, devi prima aggiungere 3 ore e poi sottrarre 3 ore, corretto?
    Si, corretto!

  6. #6
    allora, ho fatto una ricerca nel web ed ho trovato questo, che aggiunge l'ora:

    Codice PHP:
    UPDATE `events
    SET start_time ADDTIME(start_timeINTERVAL 12 HOUR)
    WHERE `start_time` < '11:00:00' 
    in questo modo dovresti essere in grado di aggiungere l'intervallo orario che ti interessa, quindi le tre ore, in pratica devi cambiare i campi della query con i tuoi e modificare il 12 hour in 3 hour.

    Fammi sapere se va, che così procediamo con la sottrazione

  7. #7
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Fammi sapere se va, che così procediamo con la sottrazione [/QUOTE]

    Grazie ma a me non funziona:
    codice:
    SELECT ADDTIME(ORA, INTERVAL 3 HOUR) `Prima`
    FROM tbl_m;
    [Err] 1064 - You have an error in your SQL syntax; 
    check the manual that corresponds to your MySQL 
    server version for the right syntax to use near ') `Prima`
    FROM tbl_m' at line 1

  8. #8
    Googlando, ho trovato questo per la sottrazione:

    Codice PHP:
    SELECT DATE_SUB( `dateCol`, INTERVAL 15 MINUTE ) as `dateLess15
    ora dovresti modificare il 15 MINUTE in 3 HOUR ed il nome della colonna 'dateCol' con la tua colonna e poi prendere il risultato usando 'dateLess15' che puoi anche chiamare diversamente

  9. #9
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    ok grazie, ma l'alias `prima` è sempre nullo...

    codice:
    SELECT Orario, DATE_SUB(Orario, INTERVAL 180 MINUTE) `Prima`
    FROM tbl_m;

  10. #10

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.