2009-06-30 11 views

Répondre

6

Il existe une fonction MySQL unix_timestamp. Dans votre requête SQL, au lieu de sélectionner directement la colonne datetime ou Horodatage, faites ceci:

SELECT unix_timestamp(MyDatetimeColumn) FROM MyTable 

Sinon, si vous avez déjà la chaîne, vous pouvez utiliser la fonction PHP strtotime().

+0

Vous voulez probablement un alias le nom aussi: SELECT UNIX_TIMESTAMP (MyDatetimeColumn) AS MyTimestampColumn – Greg

+0

où dois-je préformer le calcul afin de maximiser l'efficacité? au PHP ou au niveau MySQL? –

+0

L'implémentation SQL est probablement plus rapide car elle n'a pas besoin d'analyser une chaîne. –

1

ok, Je me suis battu avec cela pendant une semaine (plus longtemps mais j'ai pris une pause de celui-ci).

J'ai deux champs spécifiques dans les tableaux

 
creationDate > timestamp > current_timestamp 
editDate > timestamp > current_timestamp 

ils se retiraient soit le 31 décembre 1969, ou tout simplement rien ... ennuyeux ... très ennuyeux

dans la requête mysql je l'ai fait :

 
       unix_timestamp(creationDate) AS creationDate 
       unix_timestamp(editDate) AS editDate 

en php converti je l'ai fait:

 
     $timestamp = $result_ar['creationDate']; 
     $creationDate = date("Y-M-d (g:i:s a)", $timestamp) 
       echo($creationDate); 

     $editstamp = $result_ar['editDate']; 
     $editDate = date("Y-M-d (g:i:s a)", $editstamp) 
       echo($editDate); 

cette résolu mon problème pour moi de retourner

 
       2010-Jun-28 (5:33:39 pm) 
       2010-Jun-28 (12:09:46 pm) 

respectivement.

J'espère que cela aide quelqu'un ...

Questions connexes