
Como funciona o formato de hora Unix? Por exemplo, o horário Unix para 15h é:
Normal time format <----3:00PM = 1402565420----> Unix Time
Como posso fazê-lo entender o tempo como15:00?
Responder1
O tempo Unix é dado comosegundos desde a época: o número de segundos (sem contar os segundos bissextos) que se passaram desde 00:00:00 Tempo Universal Coordenado (UTC), ou quinta-feira, 1º de janeiro de 1970,
O comando GNU date
possui alguns recursos muito interessantes que permitem traduzir entre diferentes formatos de hora. Eles são explicados muito bem emman date
então darei apenas 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
bandeira. No entanto, para obter uma data Unix, esta precisa ser uma data completa. Você não pode converter 15h para o horário Unix, pois o horário Unix se refere a uma data inteira (ano, mês, dia, hora). Então, por exemplo, para obter a data Unix de 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