获得秒的时差?

时间:2016-11-24 08:37:00

标签: bash time difference

我有以下输出,我需要在几秒钟内得到时差。

------------------------------
 Wed Nov 23 15:09:20  2016
 ------------------------------
 Wed Nov 23 15:27:47  2016
------------------------------

一般来说月份应该在所有情况下都是相同的,所以我们可以逃避它,同样的一年,我可能会得到不同的值,一周中的一天和当天肯定,差异肯定是以秒和分钟可能会在几个小时......

我尝试了一些问题,但是我仍有问题。

提前致谢! 任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

我的第一个perl脚本:

# extract two dates and calculate difference in s
# http://stackoverflow.com/questions/40781429/get-the-time-difference-in-seconds/
#
# cat time_diff.txt | grep -e "20[0-2][0-9]" | perl time_difference.pl

use Date::Parse;

$date_str1 = <STDIN>;
$date_str2 = <STDIN>;
$date1 = str2time($date_str1);
$date2 = str2time($date_str2);

print $date2-$date1;
print "\n";

太糟糕了,你不能使用date -d,我为这个单行代表感到自豪:

cat time_diff.txt |  grep -e "20[0-2][0-9]" | xargs -i date -d{} +%s | (read -d "\n" t1 t2; echo $t2-$t1 | bc)

在Linux Mint 17.3上使用bash和zsh进行测试