Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment stocker le fuseau horaire des utilisateurs dans mysql ?

Le fuseau horaire à un endroit n'est pas toujours le même - par exemple, le Royaume-Uni est BST (GMT + 1) entre mars et octobre. Utilisez l'un des fuseaux horaires pris en charge par PHP :

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

Si vous continuez à utiliser des nombres, stockez-les en heures ou en minutes. Enregistrez les fuseaux horaires à l'ouest de UTC/GMT sous forme de nombres négatifs. Par exemple, la côte est des États-Unis serait -5 (heures) ou -300 (minutes) - en supposant qu'il y a 5 heures de retard.

Ensuite, ajoutez ceci à l'horodatage - le négatif ou le positif s'occupera du reste.

// 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);