2009-09-18 17 views

risposta

10

È nel fuso orario corrente. Dalla 5.1 docs:

Restituisce la data e ora correnti come valore in 'AAAA-MM-GG HH: MM: SS' o formato YYYYMMDDHHMMSS.uuuuuu, seconda che la funzione viene utilizzata in una stringa o un contesto numerico. Il valore è espresso nel fuso orario attuale .

Ora "il fuso orario corrente" può significare cose diverse:

  • Il sistema di fuso orario
  • Un fuso orario specificato per il server MySQL in generale
  • Un fuso orario specifico per la connessione

Ulteriori dettagli sono nello 5.1 time zone documentation.

(I 5.4 docs lo stesso aspetto per questi bit. Ovviamente consultare la documentazione per la versione che si sta eseguendo per le migliori informazioni possibili.)

22

Per the docs, le regole sono complicate, ma soprattutto si riducono a "fuso orario della sessione corrente" (che per impostazione predefinita fuso orario sistema):

L'attuale tempo della sessione impostazione effetti di visualizzazione e lo stoccaggio di tempo valori che sono sensibili-zone zone. Questo include i valori visualizzati dalle funzioni come NOW() o CURTIME(), e i valori memorizzati e recuperati dalle colonne TIMESTAMP. I valori per le colonne TIMESTAMP vengono convertiti da il fuso orario corrente a UTC per la memoria e da UTC al fuso orario corrente per il recupero.

Ovviamente è possibile utilizzare UTC_TIMESTAMP() se è necessario UTC in particolare.

+6

+1 per aver menzionato la funzione UTC_TIMESTAMP(). –

0

Per quanto ne so, viene restituito l'orologio di sistema. Controlla il fuso orario del tuo sistema. Collego MySQL localmente (come da PHP) i fusi orari non contano per MySQL, preferisco gestirli in PHP.

+0

Potresti spiegare di nuovo la roba di PHP. Se recupero una colonna timestamp usando PHP in che fuso orario è? Fuso orario PHP predefinito? – Sohaib