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; } }