Linuxで日数を0000-00-00から日付に変換する方法を尋ねたい。
(注:私は出身です。エポックコンバーター変換することができます。たとえば、737887は2020年4月7日に変換されます。これは、0000-00-00から今日(2020年4月7日火曜日)まで737887日があることを意味します。 )
答え1
多くのシステムでは、エポック(1970-01-01)以降の日数を使用することをお勧めします。
したがって、0000-00-00と1970-01-01の間の日数(719528)を一定に保つことができます。その後、epochの後の日数に追加します。
echo $(( 719528 + $(date --utc --date "$1" +%s)/86400 ))
答え2
Perl DateTimeモジュールは、次のタスクを実行するのに適しています。
$ perl -MDateTime -E '
$base = DateTime->new(year=>0, month=>1, day=>1);
$now = DateTime->now;
say $now->delta_days($base)->in_units("days");
'
737887