7
votes

Comment convertit-on des secondes (ou des millisecondes) en horodatage (ou juste une chaîne qui ressemble à une date) dans mysql

Je regarde cette documentation http://dev.mysql.com /doc/refman/5.5/fr/date-and-time-fonctions.htmfunction_maketime Et je sais que je dois me manquer, mais je ne vois tout simplement pas une fonction ici que je peux passer des secondes (ou des millisecondes) et récupérer soit un horodatage, soit juste une chaîne représentant la date.

aide s'il vous plaît.


0 commentaires

4 Réponses :


0
votes

Essayez ci-dessous

str_to_date ('déc / 15/2008', '% m /% d /% y'); => 2008-12-15

str_to_date ('31 / janvier / 2008 ','% d /% m /% y '); => 2008-01-31

str_to_date ('31 / janvier / 2008 23:52 ','% d /% m /% Y% h:% I ') => 2008-01-31 23:52:00


0 commentaires

13
votes

Si vous travaillez avec des secondes depuis 1970 (c'est-à-dire des horodatames UNIX, alors de_unixtime () ) pourrait bien être ce que vous voulez.

de_unixtime renvoie une représentation du UNIX_TMESTAMP argument comme valeur 'AAAA-MM-DD HH: mm: ss' ou yyyymmddhhmmss.uuuuuuu , selon que la fonction est utilisé dans une chaîne ou un contexte numérique.
La valeur est exprimée dans le fuseau horaire actuel. UNIX_TMESTAMP est une valeur d'horodatage interne telle que celle produite par la fonction UNIX_TIMESTAMP () .


0 commentaires

0
votes

Tout d'abord, que voulez-vous dire en passant des secondes pour récupérer un horodatage? Ne sont pas les secondes l'horodatage déjà?

Deuxièmement, vous recherchez cette fonction si vous voulez le faire dans SQL: http: //dev.mysql .Com / Doc / Refman / 5.5 / fr / Date-and-Time-Fonctions.html # Function_Date-Format

Troisièmement, vous voudrez peut-être envisager de récupérer l'horodatage à partir de la base de données et de laisser la demande (par exemple, dans PHP, je ne sais pas quelle langue que vous utilisiez) soit le format requis. Si vous êtes cohérent dans cette conception, il vous permet de définir de manière générique vos formats de date.


3 commentaires

Vous ne comprenez pas ma question. Donc, non, les secondes ne sont pas horodatées (elles sont des secondes), la méthode que vous avez signalée prend une date (pas secondes) qui est précisément ce que j'essaie d'obtenir, mais n'a pas, et à votre troisième point , c'est ma question ... Comment puis-je obtenir un horodatage de la base de données lorsque le champ de la base de données vient de stocker comme secondes crues.


1) Les horodatages Unix sont en quelques secondes, donc je ne vois pas la différence. Être plus clair. 2) Vous avez raison, je suis désolé, 3) Ce n'est pas votre question, vous demandez comment obtenir la requête SQL pour reformater les données, je suggère que vous obteniez juste la valeur brute de la base de données et de reformater à vos souhaits dans votre demande.


Je ne suis pas sûr de ce que vous dites (et j'ai eu ma réponse, alors, je commémorerai juste être poli). J'apprécie que vous offrir de l'aide, mais je ne sais pas comment ma question n'est pas claire. J'ai dit que je cherche à passer des secondes dans une méthode qui me donne un horodatage (ou une certaine proximité de celui-ci). Comment pourrais-je être plus clair?