import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.GregorianCalendar;import junit.framework.TestCase;
public class Test extends TestCase {
public String formatDate(java.util.Date _date, String _pattern) {
if( _date == null) {
return null;
}
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(_pattern);
String stringDate = simpleDateFormat.format(_date);
return stringDate;
}
public java.util.Date changeToDate(String _dateStr,String _pattern) {
if (_dateStr == null || _dateStr.trim().equals("")) {
return null;
}
java.util.Date date = null;
SimpleDateFormat format = new SimpleDateFormat(_pattern);
try {
date = format.parse(_dateStr);
} catch (java.text.ParseException pe) { }
return date;
}
private String formatContractMonth(String begin_time,String end_time) throws Exception{
Date begin_date = changeToDate(begin_time,"yyyy-MM-dd");
Date end_date = changeToDate(end_time,"yyyy-MM-dd");
if( begin_date.compareTo(end_date)>0) {
return "";
}
GregorianCalendar g_begin_date = new GregorianCalendar();
GregorianCalendar g_end_date = new GregorianCalendar();
g_begin_date.setTime(begin_date);
g_end_date.setTime(end_date);
int x=0; String str="";
str+=formatDate(g_begin_date.getTime(), "yyyy-MM")+",";
while((g_begin_date.get(g_begin_date.YEAR) != g_end_date.get(g_end_date.YEAR))||(g_begin_date.get(g_begin_date.MONTH) != g_end_date.get(g_end_date.MONTH))) {
g_begin_date.add(g_begin_date.MONTH, 1);
str+=formatDate(g_begin_date.getTime(), "yyyy-MM")+",";
}
if(str.length()>0) {
str=str.substring(0,str.length()-1);
}
System.out.println(str);
return str;
}
public static void main(String[] args) {
Test t = new Test();
try {
t.formatContractMonth("2011-01-15", "2011-12-26");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}