Quero perguntar como converter o número de dias de 0000-00-00 até a data no Linux?
(Nota: eu vi deconversor de épocaque ele pode ser convertido. Por exemplo, 737887 é convertido para 7 de abril de 2020, ou seja, há 737887 dias entre 0000-00-00 e hoje (terça-feira, 7 de abril de 2020).)
Responder1
Em muitos sistemas, é melhor trabalhar com dias desde a época (01/01/1970).
Portanto, você pode manter um número constante de dias entre 0000-00-00 e 1970-01-01, que é exatamente 719528. Em seguida, some com os dias desde a época:
echo $(( 719528 + $(date --utc --date "$1" +%s)/86400 ))
Responder2
O módulo perl DateTime é bom para estas coisas:
$ perl -MDateTime -E '
$base = DateTime->new(year=>0, month=>1, day=>1);
$now = DateTime->now;
say $now->delta_days($base)->in_units("days");
'
737887