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

js获取指定日期周数以及星期几的小例子

2014-06-28 14:29 375 查看
根据某年某周获取一周的日期。如开始日期规定为星期四到下一周的星期五为一周,需要的朋友可以参考下

JS获取日期时遇到如下需求,根据某年某周获取一周的日期。如开始日期规定为星期四到下一周的星期五为一周。

关于这个网络的工作原理,参看:P2P中DHT网络爬虫以及写了个磁力搜索的网页。

代码如下:

function getNowFormatDate(theDate) 



var day = theDate; 

var Year = 0; 

var Month = 0; 

var Day = 0; 

var CurrentDate = ""; 

// 初始化时间 

Year= day.getFullYear();// ie火狐下都可以 

Month= day.getMonth()+1; 

Day = day.getDate(); 

CurrentDate += Year + "-"; 

if (Month >= 10 ) 



CurrentDate += Month + "-"; 



else 



CurrentDate += "0" + Month + "-"; 



if (Day >= 10 ) 



CurrentDate += Day ; 



else 



CurrentDate += "0" + Day ; 



return CurrentDate; 



function isInOneYear(_year,_week){ 

if(_year == null || _year == '' || _week == null || _week == ''){ 

return true; 



var theYear = getXDate(_year,_week,4).getFullYear(); 

if(theYear != _year){ 

return false; 



return true; 



// 获取日期范围显示 

function getDateRange(_year,_week){ 

var beginDate; 

var endDate; 

if(_year == null || _year == '' || _week == null || _week == ''){ 

return ""; 



beginDate = getXDate(_year,_week,4); 

endDate = getXDate(_year,(_week - 0 + 1),5); 

return getNowFormatDate(beginDate) + " 至 "+ getNowFormatDate(endDate); 



// 这个方法将取得某年(year)第几周(weeks)的星期几(weekDay)的日期 

function getXDate(year,weeks,weekDay){ 

// 用指定的年构造一个日期对象,并将日期设置成这个年的1月1日 

// 因为计算机中的月份是从0开始的,所以有如下的构造方法 

var date = new Date(year,"0","1"); 

// 取得这个日期对象 date 的长整形时间 time 

var time = date.getTime(); 

// 将这个长整形时间加上第N周的时间偏移 

// 因为第一周就是当前周,所以有:weeks-1,以此类推 

// 7*24*3600000 是一星期的时间毫秒数,(JS中的日期精确到毫秒) 

time+=(weeks-1)*7*24*3600000; 

// 为日期对象 date 重新设置成时间 time 

date.setTime(time); 

return getNextDate(date,weekDay); 



// 这个方法将取得 某日期(nowDate) 所在周的星期几(weekDay)的日期 

function getNextDate(nowDate,weekDay){ 

// 0是星期日,1是星期一,... 

weekDay%=7; 

var day = nowDate.getDay(); 

var time = nowDate.getTime(); 

var sub = weekDay-day; 

if(sub <= 0){ 

sub += 7; 



time+=sub*24*3600000; 

nowDate.setTime(time); 

return nowDate; 

}如获取2016年第一周日期,从周四开始算。则第一周的日期范围为2016-01-07 至 2016-01-15

在提供一段调用的参考代码:

//日期处理 

function dateRange(){ 

var _year = $("#_year").val(); 

var _week = $("#_week").val(); 

if(isInOneYear(_year,_week)){ 

var showDate = getDateRange(_year,_week); 

$("#_dateRange_import").html(showDate); 

} else{ 

alert(_year+"年无"+_week+"周,请重新选择"); 

$("#_week").val(""); 



}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息