import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
public class Date3 {
//获取两个时间之间的 年月字符串 如 :2016-01 2016-02
private static List<String> getMonthBetween(String minDate, String maxDate) throws ParseException {
ArrayList<String> result = new ArrayList<String>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");// 格式化为年月
Calendar min = Calendar.getInstance();
Calendar max = Calendar.getInstance();
min.setTime(sdf.parse(minDate));
min.set(min.get(Calendar.YEAR), min.get(Calendar.MONTH), 1);
max.setTime(sdf.parse(maxDate));
max.set(max.get(Calendar.YEAR), max.get(Calendar.MONTH), 2);
Calendar curr = min;
while (curr.before(max)) {
result.add(sdf.format(curr.getTime()));
curr.add(Calendar.MONTH, 1);
}
return result;
}
public static void main(String[] args) throws ParseException {
String startDate = "2016-02-01";
String endDate = "2016-03-31";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
Calendar min = Calendar.getInstance();
Calendar max = Calendar.getInstance();
min.setTime(sdf.parse(startDate));
min.set(min.get(Calendar.YEAR), min.get(Calendar.MONTH), 1);
max.setTime(sdf.parse(endDate));
max.set(max.get(Calendar.YEAR), max.get(Calendar.MONTH), 2);
int months = (max.get(Calendar.YEAR) - min.get(Calendar.YEAR)) * 12 + max.get(Calendar.MONTH) - min.get(Calendar.MONTH) + 1;
/**************************************************************/
System.out.println("----------------开始时间---------------");
System.out.println("开始年份:" + min.get(Calendar.YEAR));
System.out.println("开始月份:" + (min.get(Calendar.MONTH)+1));
System.out.println("开始年月:" + "" + min.get(Calendar.YEAR) + (min.get(Calendar.MONTH)+1));
System.out.println("----------------结束时间---------------");
System.out.println("结束年份:" + max.get(Calendar.YEAR));
System.out.println("结束月份:" + (max.get(Calendar.MONTH)+1));
System.out.println("结束年月:" + "" + max.get(Calendar.YEAR) + (max.get(Calendar.MONTH)+1));
System.out.println("----------------相差月数---------------");
System.out.println("相差月数:" + months);
String tableName = "t_21_001_00000_";
System.out.println("------------------------------");
List<String> monthList = getMonthBetween(startDate, endDate);
for (String string : monthList) {
fullTableName=tableName+string.replace("-", "").substring(2);
System.out.println(fullTableName);
}
}
}
获取两个时间查得出年月
最新推荐文章于 2024-05-26 20:06:00 发布