加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何在Perl中对日期进行排序?

发布时间:2020-12-15 21:50:46 所属栏目:大数据 来源:网络整理
导读:如何在Perl中对日期进行排序? my @dates = ( "02/11/2009","20/12/2001","21/11/2010" ); 我的数组中有以上日期.我该如何排序这些日期? 我的日期格式是dd / mm / YYYY. 解决方法 @dates = sort { join('',(split '/',$a)[2,1,0]) cmp join('',$b)[2,0]) }
如何在Perl中对日期进行排序?
my @dates =  ( "02/11/2009","20/12/2001","21/11/2010" );

我的数组中有以上日期.我该如何排序这些日期?

我的日期格式是dd / mm / YYYY.

解决方法

@dates = sort { join('',(split '/',$a)[2,1,0]) cmp join('',$b)[2,0]) } @dates;

或使用单独的排序子程序:

sub mysort {
    join('',0]);
}
@dates = sort mysort @dates;

更新:一种更有效的方法是Schwartzian变换:

@dates = 
    map $_->[0],sort { $a->[1] cmp $b->[1] }
    map  [ $_,join('',$_)[2,0]) ],@dates;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读