[原创]一个关于日期比较与排列的代码!

类别:编程语言 点击:0 评论:0 推荐:

import java.text.DateFormat;
import java.text.SimpleDateFormat;


public String MaxdateTime(ArrayList PostList){
       int n = PostList.size();
    String[] arrayDate = new String[n];
    for(int i = 0;i < n;i++){
    arrayDate[i] = (String)PostList.get(i);
    }
   
   String temp;
   int i,j,flag;
   for(i = 0; i < n-1; i++){
   flag = 0;
   for(j = n-1;j > i;j--)
       if(CheckDatetime(arrayDate[j] , arrayDate[j-1]))
    {temp = arrayDate[j];arrayDate[j] = arrayDate[j-1];arrayDate[j-1] = temp;
     flag = 1;
    }
    if(flag == 0) break;
   }
   return arrayDate[n-1];//可以根据自己需要返回数组也行
}

public boolean CheckDatetime(String StartDatetime,String EndDateTime){//比较两个日期的大小
try{
       String format_str = "yyyy-MM-dd hh:mm:ss";
    Date dateStr = FormatTODay(StartDatetime,format_str);
    Date dateEnd = FormatTODay(EndDateTime,format_str);
  if(dateStr.before(dateEnd)){
       return true;
   }else{
    return false;
        }
    
 }catch(Exception ex)
       {
    ex.printStackTrace(System.err);
    return false;
        }
}


public Date FormatTODay(String str, String Format_str){//套用格式
try{
    SimpleDateFormat formatter = new SimpleDateFormat(Format_str);
 Date d = formatter.parse(str);
 return d;
 /*
    return formatter.format(d);
  */
 
   }catch(Exception ex)
       {
    ex.printStackTrace(System.err);
    return null;
        }
}

public String FormatTOString(String str, String Format_str){//转成字符窜输出
try{
    SimpleDateFormat formatter = new SimpleDateFormat(Format_str);
 Date d = formatter.parse(str);
    return formatter.format(d);
 
   }catch(Exception ex)
       {
    ex.printStackTrace(System.err);
    return str;
        }
}

本文地址:http://com.8s8s.com/it/it23334.htm