2008-01-25  2008-03-25 2008-05-25 2008-07-25这些顺序是混乱的话,我用了一个格式化,然后用date.before(date1)这样比较,但是费劲,而且代码还很混乱,有没有好的方法?

解决方案 »

  1.   

    能具体说一下么?我都是用的for循环和if语句,但找的都不对,还有别的么
      

  2.   

    实在不行转换成格林威治时间  其实也不必  2楼的方法就可以  因为用SimpleDateFormat返回的是一个字符串,
    把这些字符转放入一个数组,调用数组的那个排序的方法就可以了   或者自己写排序也可以
      

  3.   

    无论是Calendar还是Date都实现的 Comparable接口,TreeSet一键搞定~
      

  4.   


    public class DateSort {
    public static void main(String[] args){
    String[] date = {"2008-01-25", "2008-03-25", "2008-05-25", "2008-07-25"};
    for(int i = 0; i < 4; ++i){
    for(int j = 0; j < 4 - i - 1; ++j){
    if(date[j].compareTo(date[j+1]) > 0){
    String tmp = date[j];
    date[j] = date[j+1];
    date[j+1] = tmp;
    }
    }
    }
    for(int i = 0; i < 4; ++i){
    System.out.println(date[i]);
    }
    }}
      

  5.   


    public class DateSort {
        public static void main(String[] args){
            String[] date = {"2008-01-25", "2008-03-25", "2008-05-25", "2008-07-25"};
            for(int i = 0; i < 4; ++i){  // date.length
                for(int j = 0; j < 4 - i - 1; ++j){
                    if(date[j].compareTo(date[j+1]) > 0){
                        String tmp = date[j];
                        date[j] = date[j+1];
                        date[j+1] = tmp;
                    }
                }
            }
            for(int i = 0; i < 4; ++i){
                System.out.println(date[i]);
            }
        }}