Como entender o formato de hora do unix?

6

Como funciona o formato de horário do Unix? Por exemplo, a hora do Unix para 3:00 PM é:

Normal time format <----3:00PM = 1402565420----> Unix Time

Como posso entender o tempo como 15:00 ?

    
por Babin Lonston 12.06.2014 / 11:34

1 resposta

14

A hora do Unix é dada como segundos desde a época : o número de segundos (sem contar os segundos bissextos) que têm passado desde 00:00:00 Hora Universal Coordenada (UTC) ou quinta-feira, 1 de janeiro de 1970,

O comando GNU date possui alguns recursos muito interessantes que permitem a conversão entre diferentes formatos de hora. Isso é explicado muito bem em man date , então só vou dar alguns exemplos aqui:

### "Normal" format
$ date
Thu Jun 12 11:44:23 CEST 2014
### Unix time
$ date +%s
1402566271

Para converter, você pode fornecer date uma data específica usando o -d flag. No entanto, para obter uma data Unix, isso precisa ser uma data completa. Não é possível converter as 3:00 PM para o horário Unix, pois o horário do Unix se refere a uma data inteira (ano, mês, dia, hora). Então, por exemplo, para obter a data do Unix para o dia 12 de setembro de 1987, você faria:

$ date -d "3 PM 12 September 1987" +%s
558450000

E para converter isso de volta para uma data "normal":

$ date -d "@558450000" 
Sat Sep 12 15:00:00 CEST 1987
    
por 12.06.2014 / 11:48