DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> js獲取指定日期周數以及星期幾的小例子
js獲取指定日期周數以及星期幾的小例子
編輯:關於JavaScript     

JS獲取日期時遇到如下需求,根據某年某周獲取一周的日期。如開始日期規定為星期四到下一周的星期五為一周。

代碼如下:

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(""); 
} 
}
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved