如何找出两个日期格式之间的差异
date +"%H-%M-%d-%m-%Y"
我还想知道小时数的差异。如何使用单个命令找到它。
答案1
如果文件中的日期每行一个,例如:
16-49-24-02-2016
16-49-25-02-2016
然后你可以使用awk
:
awk -F- 'NR==1 {
then = mktime(sprintf("%s %s %s %s %s 00", $5, $4, $3, $1, $2))
}
NR==2 {
now = mktime(sprintf("%s %s %s %s %s 00", $5, $4, $3, $1, $2));
printf "%s\n", (now - then)/3600
}' input.txt
该mktime
函数需要以 为单位的时间YYYY MM DD HH MM SS
,因此我们拆分给定的时间戳并将其转换为该格式(使用00
秒)。时间戳之间的差异以秒为单位,因此我们除以 3600 得到小时数。