您的位置:

java时间排序,java时间字符串排序

本文目录一览:

JAVA 日期排序

前提,假设你使用一个数组来保存一组开始时间+结束时间,当然,你也可以用其它的数据结构。

基本思路,1转换为Date型,2使用Calendar类来比较两个日期,3 自己实现compare方法:

各部分的例子:

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日");

Date startDate1 = simpleDateFormat.parse("2018年3月18日");

Date startDate2 = simpleDateFormat.parse("2018年3月12日");

private void sort(ListDate dataList){

        Collections.sort(dataList, new ComparatorDate() { 

            @Override  

            public int compare(Date o1, Date o2) {

             if(d1 != null  d2 != null){

                    Calendar c1 = Calendar.getInstance();

                    Calendar c2 = Calendar.getInstance();

                    c1.setTime(o1);

                    c2.setTime(o2);

                    return c1.After(c2);  

             }else{

             return -1;

             }

            }  

        }); 

}

大概写了下,具体你自己调调,还要注意异常处理。

Java项目中有按时间排序(可正序,可倒叙),热度排序(可正序,可倒叙)该怎么做?

数据是存在数据库中,可以通过sql查询实现数据的排序

数据存储在redis中,通过zset实现排序

java实现日期排序问题

java按文件日期排序方法,下面以对C盘Java目录下文件进行按日期排序为例:

//引用java.io包里的所有类

import java.io.*;

import java.util.*;

public class FileOrder{

//按日期排序

public static void orderByDate(String fliePath) {

   File file = new File(fliePath);

   File[] fs = file.listFiles();

   Arrays.sort(fs,new Comparator File(){

     public int compare(File f1, File f2) {

long diff = f1.lastModified() - f2.lastModified();

if (diff  0)

  return 1;

else if (diff == 0)

  return 0;

else

  return -1;

     }

     public boolean equals(Object obj) {

return true;

     }

     });

     for (int i = fs.length-1; i -1; i--) {

System.out.println(fs[i].getName());

System.out.println(new Date(fs[i].lastModified()));

      }

  }

   public static void main(String args[]){

      orderByDate("c:/java"); //调用方法对c:/java目录下文件按日期排序

      }

}