Estou tentando converter o formato de data algo como 10/03/2018 para 43376 em shell script, isso pode ser feito usando a opção de célula de formato como o número no Excel. Como fazer isso em shell script?
Estou tentando converter o formato de data algo como 10/03/2018 para 43376 em shell script, isso pode ser feito usando a opção de célula de formato como o número no Excel. Como fazer isso em shell script?
Supondo que as informações deste blog sejam verdadeiras, esta fórmula deve fazê-lo:
Este é o "Sistema de Datas de 1900" da Microsoft; dias desde 1º de janeiro de 1900 a partir de 1, mas incorretamente considerando 1900 um ano bissexto (um dia a mais do que na realidade).
A fórmula usada primeiro
date +%s
para convertê-lo em hora Unix (~ segundos desde 1970/01/01), divide-o pelo número de segundos em um dia (86400), depois adiciona o número de dias de 1900/01/01 a 1970/ 01/01 (25569) pré-calculado usando o sistema acima.Isso está assumindo a data GNU; a adaptação para outros sistemas/linguagens fica como exercício para o leitor.