Question

Ok, je suis un peu confus. Je travaille sur un projet qui doivent stocker des time() dans la base de données. Il me semble que, pour une meilleure flexibilité que je devrais le stocker sous forme timestamp pour que je puisse faire la coopération entre 2 fois et d'autres trucs cool. Mais je l'ai vu (ici plus que partout ailleurs) que beaucoup de gens stocker le temps dans les bases de données en format de date, tombant dans des questions communes comme: Comment convertir le format de date en timestamp? ou comment puis-je soustraire une date à une autre qui ont un format différent de la date? etc.

Ai-je tort en utilisant horodatages et le convertir plus tard (à afficher à l'utilisateur) au format de temps? base de données Mysql.

Était-ce utile?

La solution

J'ai tendance à horodatages stocker en format int (10), comme un horodatage UNIX sera toujours 10 caractères. Il est recommandé d'utiliser int au lieu de varchar ou char comme lorsque vous utilisez la syntaxe de commandes SQL il ne sera pas l'ordre incorrect.

Dites que vous voulez convertir à une date à un horodatage, vous pouvez soit utiliser strtotime ou mktime , en fonction de ce que vous faites.

Pour travailler la différence entre les deux horodatages il suffit de les soustraire les uns des autres.

Pour la question des fuseaux horaires, vous pouvez définir ce dans le pays de l'utilisateur en utilisant jour

Autres conseils

MySql prend en charge DateTime, la date et timestamp et offres un certain nombre de fonctions pratiques au travail avec eux par SQL. Je vous suggère de lire la page de manuel lié à choisir le bon pour vos besoins.

Juste au cas où vous ne saviez pas, MySQL prend en charge plusieurs fonctions de date, DATESUB, DATEADD etc.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top