计算时间差(date和perl实现)
发布时间:2020-12-16 00:29:45 所属栏目:大数据 来源:网络整理
导读:#!/bin/bashcurrent_sec=`date +%s`get_time=$1get_time_sec=`date -d "$1" +%s`sec_diff=$((current_sec - get_time_sec))echo "Second difference is $sec_diff"day_diff=$((sec_diff / 86400))echo "Day difference is $day_diff" #=====================
#!/bin/bash current_sec=`date +%s` get_time=$1 get_time_sec=`date -d "$1" +%s` sec_diff=$((current_sec - get_time_sec)) echo "Second difference is $sec_diff" day_diff=$((sec_diff / 86400)) echo "Day difference is $day_diff" #==================================== # timediff usage: &timediff($date,$offset) # $date form : yyyymmdd # $offset form : [+-]daynum #==================================== use Time::Local; my $date = "20111210"; my $offset = '-20'; #my $offset = '+20'; sub timediff{ my ($date,$offset) = @_; my $year_before = substr($date,4); my $mon_before = substr($date,4,2); my $day_before = substr($date,6,2); my $before = timelocal(undef,undef,$day_before,$mon_before-1,$year_before); my $after; if (substr($offset,1) eq "+") { $after = $before + substr($offset,1) * SECS_PER_DAY; } elsif (substr($offset,1) eq "-") { $after = $before - substr($offset,1) * SECS_PER_DAY; } else { die "Invalid offset!n"; } my ($sec,$min,$hour,$mday,$mon,$year) = localtime($after); $year += 1900; $mon += 1; return "$year$mon$mdayn"; } print &timediff($date,$offset);
??
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |