日を日付に変換

日を日付に変換

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

関連情報