android_日历以及时间大小的比较

效果图

 

布局

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="40dp">
    <TextView
        android:gravity="center"
        android:id="@+id/down"
        android:text="降序"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="match_parent" />
    <TextView
        android:gravity="center"
        android:id="@+id/up"
        android:text="升序"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="match_parent" />
</LinearLayout>
 <View
     android:background="#f5f5f5"
     android:layout_width="match_parent"
     android:layout_height="2dp"></View>
 <android.support.v7.widget.RecyclerView
     android:id="@+id/recyc"
     android:layout_width="match_parent"
     android:layout_height="match_parent"></android.support.v7.widget.RecyclerView>

java

 	Calendar calendar=Calendar.getInstance();
        Date date =calendar.getTime();
        Long time=date.getTime();//年月日的毫秒值 日期比较大小时可以比较毫秒值
        SimpleDateFormat formatter = new SimpleDateFormat ("yyyy-MM-dd");
        String ymd=formatter.format(time);//yyyy-MM-dd
        int year=calendar.get(Calendar.YEAR);//获取当前年
        int month=calendar.get(Calendar.MONTH)+1;//获取当前月 月份需要加1为当前月份
        int day=calendar.get(Calendar.DAY_OF_MONTH);//获取当前日
        final int hour=calendar.get(Calendar.HOUR);//获取当前日  HOUR_OF_DAY-24小时制
        int minute=calendar.get(Calendar.MINUTE);//获取当前分
        int second=calendar.get(Calendar.SECOND);//获取当前秒
        int mSecond=calendar.get(Calendar.MILLISECOND);//毫秒
        int ampm = calendar.get(Calendar.AM_PM);//0-上午;1-下午
        int week_of_year = calendar.get(Calendar.WEEK_OF_YEAR);//当前年的第几周
        int week_of_month = calendar.get(Calendar.WEEK_OF_MONTH);//当前月的第几周
        int day_of_year = calendar.get(Calendar.DAY_OF_YEAR);//当前年的第几天
        //Toast.makeText(this, year+"年"+month+"月"+day+"日"+hour+"小时"+minute+"分"+second+"秒"+mSecond+"毫秒", Toast.LENGTH_LONG).show();
       /* public String fomatMinute(int minute){简单的一位变两位
            String m;
            if(minute<10){
                m="0"+minute;
                return m;
            }
            return minute+"";

        }*/
        list=new ArrayList<>();
        list.add(new TimeTest("1000","aaa"));
        list.add(new TimeTest("800","bbb"));
        list.add(new TimeTest("1020","ccc"));
        list.add(new TimeTest("1","ddd"));


        initList();
        LinearLayoutManager li=new LinearLayoutManager(this);
        li.setOrientation(LinearLayoutManager.VERTICAL);
        recyc.setLayoutManager(li);

    }

    @Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.up:
                Collections.sort(list, new Comparator<TimeTest>() {
                    @Override
                    public int compare(TimeTest o1, TimeTest o2) {//o1小 o2大 如果比较时间只需要最后转化为毫秒值就行
                        return Integer.parseInt(o1.getNumber())-Integer.parseInt(o2.getNumber());
                    }
                });
                initList();
                break;
            case R.id.down:
                Collections.sort(list, new Comparator<TimeTest>() {
                    @Override
                    public int compare(TimeTest o1, TimeTest o2) {
                        return Integer.parseInt(o2.getNumber())-Integer.parseInt(o1.getNumber());
                    }
                });
                initList();
                break;
        }
    }


    public void initList(){
        recyc.setAdapter(new CommonAdapter(this,R.layout.item,list) {//万能适配器
            @Override

            protected void convert(ViewHolder viewHolder, Object o, int i) {
                viewHolder.setText(R.id.number,list.get(i).getNumber());
                viewHolder.setText(R.id.other,list.get(i).getEl());
            }
        });

    }

}



class TimeTest {
    String number;
    String el;

    public TimeTest(String number, String el) {
        this.number = number;
        this.el = el;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }

    public String getEl() {
        return el;
    }

    public void setEl(String el) {
        this.el = el;
    }
}