js获取时间
选择一个起始日期和一个结束日期之后,取得在这个起始日期和结束日期之间的年月
例如:选择2012/01---2012/07想把这个区间内的月份取出来,按照YYYY/MM排列。
技术牛人们,帮帮忙。有点急。多谢 用javascript做的
[解决办法]
import java.util.*;
import java.text.*;
public class Test {
public static void main(String[] args) throws Exception {
GregorianCalendar[] ga=getDate("2012-08-01", "2012-08-15");
for(GregorianCalendar e:ga)
{
// System.out.println(e.get(Calendar.YEAR)+"年 "+
// +(e.get(Calendar.MONTH)+1)+"月 "+
// e.get(Calendar.DAY_OF_MONTH)+"号");
System.out.println(eiditime(e));
}
}
/**
*
* @param startTime
* @param endTime
* @return 返回开始时间和结束时间之间的每一日
* @throws ParseException
*/
public static GregorianCalendar[] getDate(String startTime,String endTime) throws ParseException
{
Vector<GregorianCalendar> v=new Vector<GregorianCalendar>();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
GregorianCalendar gc1=new GregorianCalendar(),gc2=new GregorianCalendar();
gc1.setTime(sdf.parse(startTime));
gc2.setTime(sdf.parse(endTime));
do{
GregorianCalendar gc3=(GregorianCalendar)gc1.clone();
v.add(gc3);
gc1.add(Calendar.DAY_OF_MONTH, 1);
}while(!gc1.after(gc2));
return v.toArray(new GregorianCalendar[v.size()]);
}
//按格式获取时间
public static String eiditime(GregorianCalendar e){
String curdate = e.get(Calendar.YEAR)+"";
if((e.get(Calendar.MONTH)+1)<10){
curdate = curdate+"0" +(e.get(Calendar.MONTH)+1);
}else {
curdate = curdate+(e.get(Calendar.MONTH)+1);
}
if(e.get(Calendar.DAY_OF_MONTH)<10){
curdate = curdate+"0"+e.get(Calendar.DAY_OF_MONTH);
}else{
curdate =curdate+ e.get(Calendar.DAY_OF_MONTH);
}
return curdate;
}
}
Date.prototype.addMonths= function(m){
var d = this.getDate();
this.setMonth(this.getMonth() + m);
if (this.getDate() < d)
this.setDate(0);
};
Date.prototype.toDateString=function(){
return this.getYear()+"/"+(this.getMonth()+1)+"/"+this.getDate();
}
var start=new Date("2012/1/1");
var end=new Date("2012/9/1");
for(;start<=end;){
document.write(start.toDateString()+"<br>");
start.addMonths(1);
}