Si j'ai une chaîne PHP dans le format AAAA-JJ-MM et un timestamp MySQL, est-il un bon moyen pour convertir entre eux?
Je suis intéressé à faire des comparaisons entre la date de chaîne et le timestamp MySQL. Cependant, je ne suis pas voir une conversion facile. Suis-je surplombant quelque chose d'évident?
De la conversion à partir d'horodatage au format:
La conversion de format d'horodatage:
Voir date et mktime pour plus de documentation.
Quand il s'agit de stocker c'est à vous d'utiliser le MySQL format de DATE pour les stroing comme une date formatée; comme un entier pour le stockage comme un timestamp UNIX; ou vous pouvez utiliser MySQL format d'HORODATAGE qui convertit un horodatage numérique dans un format lisible. De vérifier la Doc MySQL pour TIMESTAMP info.
Vous pouvez éviter d'avoir à utiliser
strtotime()
ougetdate()
dans PHP en utilisant MySQLUNIX_TIMESTAMP()
fonction.Les données en résultant sera une norme entier timestamp Unix, vous pouvez donc faire une comparaison directe
time()
.J'ai écrit cette petite fonction pour simplifier le processus:
J'espère que cette aide
la fonction strtotime() et getdate() sont deux fonctions qui peuvent être utilisées pour obtenir des dates à partir de chaînes de caractères et les horodatages. Il n'y a pas une fonction de la bibliothèque standard qui convertit entre MySQL et PHP horodateurs bien.
Utiliser le PHP Date fonction. Vous pouvez avoir à convertir le timestamp mysql Unix timestamp dans votre requête à l'aide de la UNIX_TIMESTAMP fonction dans mysql.
Une date en chaîne de la forme:
n'a pas le temps associé. MySQL est un Timestamp est de la forme:
comparer les deux, vous devrez vous pour ajouter une heure à la date de chaîne, à l'instar de minuit par exemple
et ensuite utiliser une fonction de comparaison de la valeur epoc temps entre