Convertir MYSQL Horodatage à time_t
Question
J'écris un programme multi-thread qui doit être en mesure de vérifier si une ligne nécessite la mise à jour et agir en conséquence.
J'ai eu des problèmes en utilisant les fonctions intégrées de date / heure de MySql et ont donc décidé de stocker tout l'horodatage « lastupdate » comme un entier dans la table. Cependant, je vais avoir des problèmes de conversion de cet horodatage pour time_t afin que je puisse utiliser les fonctions de temps avec elle.
Toute aide est grandement appréciée.
La solution
L'horodatage MySql type de données peut être stocké en tant que nombre dans AAAAMMJJHHMMSS, AAMMJJHHMMSS, AAAAMMJJ ou AAMMJJ.
Dans les systèmes Unix et compatibles POSIX, time_t est typiquement un nombre entier qui représente le nombre de secondes depuis le début de l'époque Unix: UTC. minuit du 1er Janvier, 1970
En MySQL, vous pouvez utiliser le UNIX_TIMESTAMP () et FROM_UNIXTIME () fonctions convertissent entre les valeurs d'horodatage et des valeurs de timestamp UNIX.
Requête Exemple: SELECT Unix_Timestamp(Date_Entered) FROM Foo;
Autres conseils
Essayez FROM_UNIXTIME et TO_UNIXTIME et laissez vos dates que les dates dans la base de données.