Usos úteis do comando GNU date (1)

Já vi muitas pessoas usarem uma ferramenta de conversão online para converter carimbos de data / hora POSIX em uma string de data ou para obter um carimbo de data / hora POSIX em uma data específica; no entanto, a versão do GNU datepode fazer ambos diretamente da linha de comando.

Obtendo a hora atual no formato de carimbo de data / hora POSIX:

$ date %+s
1446491202

Converter um carimbo de data / hora POSIX arbitrário em uma string de data legível por humanos:

$ date -u -d @1446491202
Mon Nov 2 19:06:42 UTC 2015

Mas datepode fazer algumas coisas ainda mais poderosas do que isso, você pode especificar strings de data arbitrárias usando o -dsinalizador em um formato legível principalmente. Por exemplo, digamos que você queira saber o carimbo de data / hora POSIX para o início do dia, 30 dias atrás à meia-noite UTC:

$ date -u -d '30 days ago 00:00' +%s
1443830400

E com certeza, essa é a data que esperaríamos:

$ date -u -d @1443830400
Sat Oct 3 00:00:00 UTC 2015

Você também pode descobrir datas no futuro:

$ date -u -d 'next Fri'
Fri Nov 6 00:00:00 UTC 2015