JAVA 日期排序

Python014

JAVA 日期排序,第1张

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

基本思路,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(List<Date> dataList){

        Collections.sort(dataList, new Comparator<Date>() { 

            @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按文件日期排序方法,下面以对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目录下文件按日期排序

      }

}