2012年11月1日星期四

日期时间js


/*获取yyyy-mm-dd day天的日期数组
* getDays('2012-11-01',2)
* 返回['2012-11-01','2012-11-02']
*/



function getDays(str, day){
var dd, mm, yy;
var reg = /^(\d{4})-(\d{1,2})-(\d{1,2})$/;
if (arr = str.match(reg)) {
yy = Number(arr[1]);
mm = Number(arr[2])-1;
dd = Number(arr[3]);
} else {
var d = new Date();
yy = d.getUTCFullYear();
mm = ("00"+(d.getUTCMonth())).slice(-2);
dd = ("00"+d.getUTCDate()).slice(-2);
}
var aa=[];
if(day>=0){
for(var i=0;i
aa.push(_getDate(yy, mm, dd, i));
}
}else{
for(var i=(day+1);i<=0;i++){
aa.push(_getDate(yy, mm, dd, i));
}
}
//alert(aa);
return aa;
}
/*
*返回n天后的日期
* get_day("2012-11-01",3) 返回 "2012-11-04"
*
*/
function get_day(str, n){
var dd, mm, yy;
var reg = /^(\d{4})-(\d{1,2})-(\d{1,2})$/;
if (arr = str.match(reg)) {
yy = Number(arr[1]);
mm = Number(arr[2])-1;
dd = Number(arr[3]);
} else {
var d = new Date();
yy = d.getUTCFullYear();
mm = ("00"+(d.getUTCMonth())).slice(-2);
dd = ("00"+d.getUTCDate()).slice(-2);
}
var aa=_getDate(yy, mm, dd, n);
return aa;
}
/*
* 获取day天后的日期
* 例如_getDate(2012,11,1,2):获取2012-11-01后2天的日期
例如_getDate(2012,11,1,-2):获取2012-11-01前2天的日期
*/
function _getDate(yy, mm, dd, day) {
var s, d, t, t2;
t = Date.UTC(yy, mm, dd);
t2 = day * 1000 * 3600 * 24; //加减day天的时间
t+= t2;
d = new Date(t);
s = d.getUTCFullYear() + "-";
s += ("00"+(d.getUTCMonth()+1)).slice(-2) + "-";
s += ("00"+d.getUTCDate()).slice(-2);
//alert(s);
return s;
}
/*这个方法将取得 某日期(nowDate) 所在周的星期几(weekDay)的日期
* getNextDate("2012-11-04",1); 2012-11-04所在周的星期一的日期
* 返回2012-10-29
*
*/
function getNextDate(str,weekDay){
var dd, mm, yy;
var reg = /^(\d{4})-(\d{1,2})-(\d{1,2})$/;
if (arr = str.match(reg)) {
yy = Number(arr[1]);
mm = Number(arr[2])-1;
dd = Number(arr[3]);
}
var t = Date.UTC(yy, mm, dd);
var d = new Date(t);
weekDay%=7;
var day = d.getDay();
if(day==0)day=7;//自己加的 否则如果是周日 day=0 我取所在周一的日期,返回的是下周的
var time = d.getTime();
var sub = weekDay-day;
time+=sub*24*3600000;
d.setTime(time);
var s = d.getUTCFullYear() + "-";
s += ("00"+(d.getUTCMonth()+1)).slice(-2) + "-";
s += ("00"+d.getUTCDate()).slice(-2);
return s;
}
function getNextDate1(str,weekDay){
var d=new Date(str);
weekDay%=7;
var day = d.getDay();
if(day==0)day=7;//自己加的 否则如果是周日 day=0 我取所在周一的日期,返回的是下周的
var time = d.getTime();
var sub = weekDay-day;
time+=sub*24*3600000;
d.setTime(time);
var s = d.getUTCFullYear() + "-";
s += ("00"+(d.getUTCMonth()+1)).slice(-2) + "-";
s += ("00"+d.getUTCDate()).slice(-2);
return s;
}
/*
* 参数 2012-11-08
* 返回周几
*/
function week(dd){
dd=dd.replace(/\-/g,"/");
var week="日一二三四五六".charAt(new Date(dd).getDay());
return week;
}
/*
* 获取当前日期
*/
function getCurrDay(){
var d = new Date();
yy = d.getUTCFullYear();
mm = ("00"+(d.getUTCMonth()+1)).slice(-2);
dd = ("00"+d.getUTCDate()).slice(-2);
return yy+"-"+mm+"-"+dd;
}


=============================================


html:
"content-type" content="text/html; charset=UTF-8" />

没有评论:

发表评论