我想問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。 然後將其與紀元以來的天數相加:
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