Perl 时间操作函数

来源:互联网 发布:海天考研网络课程 编辑:程序博客网 时间:2024/05/19 03:42

#-------------------------------------------------- 时间操作函数 ------------------------------------------------------#

    use POSIX;
    use Time::Local;

    #addDate
    sub addDate{
        #e.g. getTargetDate("2005-03-17","-1") = 2005-03-16 00:00:00
        my $date=$_[0];
        my $gap=$_[1]*24*60*60;
        my $target_date=getDateTime($date)+$gap;
        return $target_date;
    }

    #return the seconds
    sub getDateTime{
        #e.g. getDateTime("2005-03-18 16:33:28") = 12312323
        my $str=$_[0];
        if ($_[0]=~/:/ != 1) {
            $str=$_[0]." 00:00:00";
        }
        my @arr = split(/[- :]/,$str);
        my $result = timelocal($arr[5],$arr[4],$arr[3],$arr[2],$arr[1]-1,$arr[0]);
        return $result;
    }
 
    # return format date string
    sub dateFormat{
        #e.g. dateFormat("%Y-%m-%d", "2005-03-18 16:33:28") = 2005-03-18
        #e.g. %Y-%m-%d %H:%M:%S
        my $format = $_[0];
        my $date = $_[1];
        return  strftime $_[0], localtime($_[1]);
    }
原创粉丝点击