recherche

Maison  >  Questions et réponses  >  le corps du texte

php - Utiliser le type datetime pour stocker l'heure, comment résoudre le problème du fuseau horaire

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.

某草草某草草2750 Il y a quelques jours771

répondre à tous(7)je répondrai

  • 我想大声告诉你

    我想大声告诉你2017-05-16 13:10:23

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

    répondre
    0
  • 迷茫

    迷茫2017-05-16 13:10:23

    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.

    répondre
    0
  • 巴扎黑

    巴扎黑2017-05-16 13:10:23

    Seul l'horodatage est recommandé

    répondre
    0
  • 大家讲道理

    大家讲道理2017-05-16 13:10:23

    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.

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-16 13:10:23

    À 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.

    répondre
    0
  • 天蓬老师

    天蓬老师2017-05-16 13:10:23

    +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.

    répondre
    0
  • PHP中文网

    PHP中文网2017-05-16 13:10:23

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

    répondre
    0
  • Annulerrépondre