我想问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