Stockage de la date et de l'heure avec les informations de fuseau horaire dans MySQL
Le stockage des dates et des heures dans une base de données, en particulier lorsqu'il s'agit de différents fuseaux horaires, peut être difficile . Cela est particulièrement vrai lorsque des collaborateurs accédant à des données peuvent se trouver dans différents fuseaux horaires.
Pour surmonter ce problème, il est crucial d'établir une cohérence dans le stockage des informations date-heure. Une solution consiste à utiliser le type de données DATETIME dans MySQL au lieu du type de données TIMESTAMP. Contrairement à TIMESTAMP, qui convertit les valeurs en UTC pour le stockage et la récupération, DATETIME n'effectue pas cette conversion. En stockant les valeurs datetime sous DATETIME, vous vous assurez qu'elles restent intactes et seront affichées dans le fuseau horaire prévu.
Pour illustrer cela, considérons l'exemple fourni dans la question. En utilisant DATETIME, la commande suivante insérerait avec succès la valeur datetime "2011-03-13 02:49:10":
Cette fois, vous ne rencontreriez pas l'erreur liée à "valeur datetime incorrecte" car la valeur est conservé dans son fuseau horaire d'origine sans être converti en UTC.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!