在编程过程中,经常会遇到日期字符串的排序,日期常见格式是yyyy-MM-dd类型,实现了两个日期之间的比较,就可以采用常规排序算法进行排序。
比如,我们要比较2016-09-22和2016-07-17的大小,思路很简单,将日期分割成年月日的字符串数组,第一步比较年份,如果年份可以得出大小就结束比较,否则,继续比较月份,依次内推,下面是代码:
private int compare(String date1,String date2)
{
String[] sdate1 = date1.split("-");
String[] sdate2 = date2.split("-");
int sdate1year = Integer.parseInt(sdate1[0]);
int sdate2year = Integer.parseInt(sdate2[0]);
if(sdate1year>sdate2year)
{
return 1;
}else if(sdate1year<sdate2year)
{
return -1;
}else{
int sdate1month = Integer.parseInt(sdate1[1]);
int sdate2month = Integer.parseInt(sdate2[1]);
if(sdate1month>sdate2month)
{
return 1;
}else if(sdate1month<sdate2month)
{
return -1;
}else{
int sdate1day = Integer.parseInt(sdate1[2]);
int sdate2day = Integer.parseInt(sdate2[2]);
if(sdate1day>sdate2day)
{
return 1;
}else if(sdate1day<sdate2day)
{
return -1;
}else{
return 0;
}
}
}
}