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
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!
á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.
https://es.m.wikipedia.org/wiki/Problema_del_a%C3%B1o_2038
Que excel·lent publicació ... !! Gràcies per la Informació !!!
Salutacions ...
El registre colorizer ccze té una opció per convertir el format de data unix.
tailf /varlog/squid3/access.log | ccze -C
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.
Exacte, que foti és preguntar-te quan rajos passar algun esdeveniment en el sistema i no saber com traduir això.
Bona idea la de visualitzar l'hora amb el Unixtime.
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;
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.