Visualizzazione dei risultati da 1 a 7 su 7

Discussione: now() orario sbagliato

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    154

    now() orario sbagliato

    salve gente, ho un problemino... tramite una query, utilizzando la funzione now() carico un datetime all interno di un campo di una tabella nel mio db...il campo è di tipo datetime not null... il problema è che mi viene restituito un orario sbagliato ...... giorno mese anno invece son corretti...

    se ad esempio qui sono le 10:58 , io li ricevo 08:50 ..... ricevo quindi un orario di 2 ore indietro e 8 minuti indietro... i secondi sinceramente non mi interessano molto... so che dipende dall orario dei server ma non ce modo di caricare correttamente quest orario?

    codice:
    $sqliu = "INSERT INTO `userson` (`uvon`, `dt`) VALUES ('$uvon', now()) ON DUPLICATE KEY UPDATE `dt`=now()";

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    783
    Il now() che usi è una funzione mysql, volendo puoi settare la corretta timezone sul tuo server mysql per ovviare a questo problema.
    Come farlo dipende anche dai permessi che hai sul server, ti lascio un link alla documentazione.

    https://dev.mysql.com/doc/refman/5.5...e-support.html

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Sposto, visto che il problema è con una funzione di MySQL.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    154
    ciao... inanzitutto grazie Mod per aver spostato la discussione...grazie M4V1 per la risposta ...purtroppo non ho molti permessi, non ho il permesso di accedere al php.ini etc... le ho provate tutte ...alla fine sto provando con INTERVAL ....

    codice:
    $sqliu = "INSERT INTO `userson` (`uvon`, `dt`) VALUES ('$uvon', DATE_ADD(DATE_ADD(now(), INTERVAL 8 MINUTE), INTERVAL 2 HOUR)) ON DUPLICATE KEY UPDATE `dt`=DATE_ADD(DATE_ADD(now(), INTERVAL 2 MONTH), INTERVAL 2 YEAR)";
    ho fatto cosi...adesso ricevo la data che voglio quanto setto il value...però in duplicate key update non funziona, mi da sempre le 2 ore e 8 minuti indietro...

  5. #5
    l'orario di now() è quello del server, sapevatelo!

  6. #6
    "set @@session.time_zone='Europe/Rome'"

    Puoi provare ad eseguire questa query subito dopo esserti connesso al db.
    Imposterà il timezone per la connessione attiva e non richiede particolari privilegi sul db.

    Per i tuoi test, non basarti su quanto riporta phpmyadmin, i campi datetime seguono regole particolari e quello che vedi in phpmyadmin potrebbe essere fuorviante.

  7. #7
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Pero Punix ha 2h e 8 minuti di dfferenza
    Perché ci sono anche 8 minuti ???????

    potrebbe non essere il TimeZone
    ma bensi semplicemente l'orologio del Server da alliniare

    come del resto ha gia lasciato intuire Optime

    .

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 © 2024 vBulletin Solutions, Inc. All rights reserved.