Ordre per convertir d'UnixTime a Normal

Moltes són les vegades que trobo dates en format Unix, òbviament no entenc un dimoni de quina data i hora m'estan mostrant, és aquí on es fa necessari convertir això que està en UnixTime cap a «normal».

Però, primer la pregunta:

Què és Unix Time?

Podem llegir a Wikipedia i veurem que el nombre que tinguem davant és la quantitat de segons que han passat des el 1ro de gener de 1970 fins a aquest moment, una mena «1437905791» en realitat vol dir: 2015 07:26:10

On trobo dates en el format Unix Time?

Moltes aplicacions acostumen a guardar les dates o moments en aquest format a la base de dades que facin servir, fòrums, servidors d'aplicacions, etc.

Com convertir des de la terminal UnixTime a alguna cosa que pugui entendre?

Simple, suposem que tenim la següent data: 1416483005

Per convertir-lo a una cosa que puguem entendre nosaltres, només cal anteposar: date -d @

O sigui:

date -d @1416483005

I això ens dirà que representa el dia 20 de novembre de 2014, amb hora 06:30:05

convert-unix-time

Hi ha alguna web per convertir d'UnixTime?

Sí clar, busquin a Google «date to unix»I llest, veuran un munt de Resultats.

Puc treure la data de MySQL directe convertida?

Si clar, suposant que sigui una base de dades anomenada Estadístiques, Una taula anomenada vegades, I tingui un camp anomenat date que estigui en format Unix, la consulta per treure totes les dades d'aquest camp convertits ja seria:

select FROM_UNIXTIME(date) from stats.times;

O sigui, tenim una funció anomenada FROM_UNIXTIME () que ens serveix per a aquesta conversió, si d'aquí a l'parèntesi posem el camp la informació és d'aquest tipus, ens la converteix.

Fi!

Bé no hi ha molt més que afegir, enjoy!


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Saeron va dir

    álaaaaa no sàvia que s'utilitzés aquest format, que ortopedico, a veure que passa quan el nombre abast la memòria màxima de la variable. El cap de l'món nois, tots estaven equivocats, a la fi serà unix qui ens digui tant.

  2.   Mario Guillermo Zavala Silva va dir

    Que excel·lent publicació ... !! Gràcies per la Informació !!!

    Salutacions ...

  3.   caçador va dir

    El registre colorizer ccze té una opció per convertir el format de data unix.

    tailf /varlog/squid3/access.log | ccze -C

  4.   Armando Oci va dir

    Molt bon post és força útil concer la comanda, l'unix time és un mal de cap quan vegada algun log i si només veus el nombre no tens ni idea que és la data en aquest format.

    1.    Azureus va dir

      Exacte, que foti és preguntar-te quan rajos passar algun esdeveniment en el sistema i no saber com traduir això.

  5.   eliotime3000 va dir

    Bona idea la de visualitzar l'hora amb el Unixtime.

  6.   pluja va dir

    he estat fent proves amb time.h al c amb time (0) em dóna els segons des de 1970, ja se que hi ha eines que ho fan automàticament però volia veure-ho manual
    li sumo 1970 a la quantitat d'anys que han passat des d'aleshores, obtinc els anys dividint els segons entre 60 per obtenir minuts i de nou per obtenir les hores després entre 24 i obtinc els dies per últim 365 i obtinc els anys.
    long any = 1970 + ((time (0) / 60/60/24/365)); em dóna data actual

    per al nombre de el mes prenc la data actual i li resta els segons de la data fins a l'any passat, però tot i tinc un dels segons de l'any passat.
    long numdelmes=time(0)-(((time(0)/60/60/24/365)-1)606024365);

    tom numdelmes i el divideixo entre 60 per obtenir els minuts i de nou per 60 per obtenir les hores li resta un any. ja tinc el nombre de dies d'aquest any ara prenc el residu de la divisió entre 7 i em donen els dies
    long diasemana=((numdelmes/60/60/24)-365)%7;

    repeteixo el procés però ja no divideixo entre 7 sinó entre 31 i obtinc el nombre del mes
    numdelmes=((numdelmes/60/60/24)-365)/31;

  7.   Factory va dir

    Un article fantàstic, ha quedat totalment clar, a més vull recalcar la tasca de la comunitat, en els comentaris també s'aclareixen molts dubtes i no és fàcil tenir a gent així següent un bloc. Un 10.