php - Utiliser le type datetime pour stocker l'heure, comment résoudre le problème du fuseau horaire
某草草
某草草 2017-05-16 13:08:23
0
7
770

La base de données utilise le type de champ datetime pour enregistrer l'heure. Comment définir le fuseau horaire du serveur, le fuseau horaire mysql et le fuseau horaire PHP ?

Option 1.
Tous les serveurs utilisent le fuseau horaire UTC de manière uniforme. Le programme PHP utilise le fuseau horaire UTC. L'heure de type datetime écrite dans la base de données est UTC, et elle est extraite et convertie dans le fuseau horaire local. .

Option 2.
Le fuseau horaire de tous les serveurs peut être défini arbitrairement, et le fuseau horaire du programme peut être défini arbitrairement. Cependant, tous ceux impliquant le stockage de l'heure utilisent le type int pour stocker les horodatages.

某草草
某草草

répondre à tous(7)
我想大声告诉你

Pourquoi ne définissez-vous pas votre base de données sur Asia/Shanghaice fuseau horaire pour PHP ?

迷茫

Le fuseau horaire du serveur doit être unifié. Habituellement, j'enregistre les horodatages dans la base de données. Parce que je trouve pratique de rechercher. Pour les visites transfrontalières. Effectuez simplement le traitement correspondant lors du formatage de l'horodatage.

巴扎黑

Seul l'horodatage est recommandé

大家讲道理

Enfin, je comprends pourquoi l'heure doit être horodatée. Il s'avère que c'est à cause de problèmes de fuseau horaire. Cependant, la classe carbon de Laravel semble avoir résolu ce problème. Vous pouvez convertir le format d'heure à volonté. Bien sûr, les performances d'horodatage sont les plus puissantes, en particulier lors de la recherche, le type int est beaucoup plus efficace que datetime.

伊谢尔伦

À proprement parler, peu importe où vous vous trouvez sur terre, l'horodatage est le même à tout moment. Par exemple, l'horodatage 1452783600 correspond à 16 heures à Paris et à 7 heures à San Francisco. Ceci est avantageux pour les applications distribuées en ligne et côté client pour suivre uniformément les informations de temps.

Peter_Zhu

+8 heures. De plus, il est préférable d'enregistrer tous les formats d'heure avec des horodatages. Les horodatages n'auront pas de problèmes de fuseau horaire.
À proprement parler, peu importe où vous vous trouvez sur terre, l'horodatage est le même à tout moment.

洪涛

1. Utilisez datetime,php/mysql时区设置为UTC+08
2.使用int,直接存时间戳,显示的时候再使用date pour le formater

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal