返回离日期字符串前后最近的那个日期
入参是个日期字符串数组,和一个日期字符串
在日期字符串数组中返回离日期字符串前后最近的那个日期
public static String getDate(String [] dataString,String dateStr )
{
String returnDate="";
String dataString [] = new String[4];
dataString[0] ="20130806";
dataString[1] ="20130810";
dataString[2] ="20130816";
dataString[3] ="20130826";
String dateStr ="20130819";
return returnDate;
}
------解决方案--------------------循环比较。大小。绝对值。
------解决方案--------------------/**
* 把字符串格式化成相应的日期格式
*
* @param s 日期字符串格式 String
* @param datePattern 日期模式 String
* @return 返回格式化后的日期
*/
public static Date parseDate(String s, String datePattern) {
s = s.replaceAll(" ", "");
if (s == null
------解决方案-------------------- s.equals(""))
return null;
Date d = null;
SimpleDateFormat sf = new SimpleDateFormat(datePattern);
try {
d = sf.parse(s);
} catch (
ParseException e) {
}
return d;
}
public String getDate(String[] dateStrings ,String dateStr ){
int size = dateStrings.length;
long[] ArraysMath =new long[size];
//转化为yyyy-MM-dd格式
Date date = this.parseDate(dateStr, "yyyy-MM-dd");
Date dateArray = null;
long sl = date.getTime(); //获取秒数
long el ;
long ei ;
for(int i = 0;i<size;i++){
dateArray = this.parseDate(dateStrings[i], "yyyy-MM-dd");
el = dateArray.getTime();
ei = Math.abs(sl - el);
ArraysMath[i] = ei;
}
int index =0;
for(int j =1;j<ArraysMath.length;j++){
if(ArraysMath[index]>ArraysMath[j]){
index = j;
}
}
return dateStrings[index];
}