Mysql
 sql >> Database >  >> RDS >> Mysql

Come memorizzare il fuso orario degli utenti in MySQL?

Il fuso orario in una località non è sempre lo stesso:ad esempio, il Regno Unito è BST (GMT + 1) tra marzo e ottobre. Usa uno dei fusi orari supportati da PHP:

http://php.net/manual/en/timezones.php

Se vai avanti usando i numeri, salvali come ore o minuti. Memorizza i fusi orari a ovest di UTC/GMT come numeri negativi. Ad esempio, la costa orientale degli Stati Uniti sarebbe -5 (ore) o -300 (minuti) - supponendo che siano 5 ore indietro.

Quindi, aggiungi questo al timestamp:il negativo o il positivo gestiranno il resto.

// for 5 hours behind when stored as hours (-5)
$now = time() + ($offset * 60 * 60);
// for 5 hours behind when stored as minutes (-300)
$now = time() + ($offset * 60);