2016-08-05 68 views
0

如何使用perl將02/01/1999更改爲1999-02-01?我試過這個,但它是返回日期是-00-00將日期的格式從mm/dd/yyyy更改爲yyyy-mm-dd

sub changeDate{ 
    my $date = shift; 
    my @adate=split (/\//, $date); 
    my $ndate=$adate[2]."-".sprintf("%02d", $adate[1])."-".sprintf("%02d",$adate[0]); 
    say "DATE IS $ndate"; 
    return $ndate; 
} 

回答

0

你有什麼是正確的。

$ perl -e' 
    use feature qw(say); 

    sub changeDate{ 
     my $date = shift; 
     my @adate=split (/\//, $date); 
     my $ndate=$adate[2]."-".sprintf("%02d", $adate[1])."-".sprintf("%02d",$adate[0]); 
     return $ndate; 
    } 

    say changeDate("02/01/1999"); 
' 
1999-01-02 

你一定是經過了比其他02/01/1999東西changeDate

注意changeDate可以降低到以下幾點:

sub changeDate { sprintf '%3$d-%1$02d-%2$02d', split /\//, shift } 
+1

是的,我發現了問題,我被錯誤地調用子 – jreed21

相關問題