两个日历日期之间的差异



我有一个文件,日期格式为 YYYYMMDD。我想找出文件中日期与儒略数字中的当前日期之间的差异。

我不确定我是否理解您的输出格式要求 - 日期可以是儒略语(年数和一年中的天数),但区别只是没有"朱利安"格式的天数。

我不知道如何在外壳中进行日期摆弄,所以我会求助于 perl:

perl -e 'use POSIX qw(mktime); sub d2ts { return POSIX::mktime(0, 0, 0, 
substr($_[0],6,2),substr($_[0],4,2)-1,substr($_[0],0,4)-1900); } print 
int((time-d2ts($ARGV[0]))/86400), "n";' '20131218'
==> 54

perl -e 'use POSIX qw(mktime); sub d2ts { return POSIX::mktime(0, 0, 0, 
substr($_[0],6,2),substr($_[0],4,2)-1,substr($_[0],0,4)-1900); } print 
int((d2ts($ARGV[1])-d2ts($ARGV[0]))/86400), "n";' '20131218' '20140210'
==> 54

第一个是将一次与"现在"进行比较,第二个是 2 个给定日期。

请注意,您可能需要设置 TZ=UTC,否则您可能会在夏季/冬季切换中损失一天。

最新更新