我有以下输出,我需要在几秒钟内得到时差。
------------------------------
Wed Nov 23 15:09:20 2016
------------------------------
Wed Nov 23 15:27:47 2016
------------------------------
一般来说月份应该在所有情况下都是相同的,所以我们可以逃避它,同样的一年,我可能会得到不同的值,一周中的一天和当天肯定,差异肯定是以秒和分钟可能会在几个小时......
我尝试了一些问题,但是我仍有问题。
提前致谢! 任何帮助表示赞赏!
答案 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进行测试