您的位置:首页 > Web前端 > JavaScript

java+javascript获得两个日期之间的所有月份

2016-03-10 09:42 627 查看

java+javascript获得两个日期之间的所有月份

-----------------------------------
java版 ------------------------------------------------

         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;

    }

----------------------------------- javascript版------------------------------------------          

//获得区间内所有日期  
function getMonthBetween(start,end){  

var result = [];  

var s = start.split("-");  

var e = end.split("-");  

var min = new Date();  

 var max = new Date();  

min.setFullYear(s[0],s[1]);  

max.setFullYear(e[0],e[1]);  

              

var curr = min;  

while(curr <= max){  

   var month = curr.getMonth();  

   result.push(curr.getFullYear()+"-"+(month<10?("0"+month):month));  

      curr.setMonth(month+1);  

   }  

    return result;  

 }  

----------原文转自:http://javasam.iteye.com/blog/2074221

-----------------------------------------------------------------------------------------------

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");

//获取前月的第一天
//获取当前日期
Calendar cal_1=Calendar.getInstance();
cal_1.add(Calendar.MONTH, -1);
//设置为1号,当前日期既为本月第一天
cal_1.set(Calendar.DAY_OF_MONTH,1);
firstDay = format.format(cal_1.getTime());
System.out.println("-----1------firstDay:"+firstDay);

//获取前月的最后一天
Calendar cale = Calendar.getInstance();
//设置为1号,当前日期既为本月第一天
cale.set(Calendar.DAY_OF_MONTH,0);
lastDay = format.format(cale.getTime());
System.out.println("-----2------lastDay:"+lastDay);

//获取当前月第一天:
Calendar c = Calendar.getInstance();
c.add(Calendar.MONTH, 0);
//设置为1号,当前日期既为本月第一天
c.set(Calendar.DAY_OF_MONTH,1);
String first = format.format(c.getTime());
System.out.println("===============first:"+first);

//获取当前月最后一天
Calendar ca = Calendar.getInstance();
ca.set(Calendar.DAY_OF_MONTH,
ca.getActualMaximum(Calendar.DAY_OF_MONTH));
String last = format.format(ca.getTime());
System.out.println("===============last:"+last);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息