Comment convertir le format suivant en timestamp Unix?
Apr 15 2012 12:00AM
Le format que je reçois de DB semble avoir AM
à la fin. J'ai essayé d'utiliser les éléments suivants, mais cela n'a pas fonctionné:
CONVERT(DATETIME, Sales.SalesDate, 103) AS DTSALESDATE,
CONVERT(TIMESTAMP, Sales.SalesDate, 103) AS TSSALESDATE
where Sales.SalesDate value is Apr 15 2012 12:00AM
Essayez cette requête pour CONVERT DATETIME to UNIX TIME STAMP
SELECT UNIX_TIMESTAMP(STR_TO_DATE('Apr 15 2012 12:00AM', '%M %d %Y %h:%i%p'))
Cette requête pour CHANGE DATE FORMATE
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(STR_TO_DATE('Apr 15 2012 12:00AM', '%M %d %Y %h:%i%p')),'%m-%d-%Y %h:%i:%p')
Vous devrez certainement utiliser les deux STR_TO_DATE
pour convertir votre date au format de date standard MySQL, et UNIX_TIMESTAMP
pour en obtenir l’horodatage.
Étant donné le format de votre date, quelque chose comme
_UNIX_TIMESTAMP(STR_TO_DATE(Sales.SalesDate, '%M %e %Y %h:%i%p'))
_
Will vous donne un horodatage valide. Consultez la documentation STR_TO_DATE
pour avoir plus d'informations sur la chaîne de formatage.
Pour la date actuelle, utilisez simplement UNIX_TIMESTAMP()
dans votre requête MySQL.