js獲取指定日期周數以及星期幾的小例子
更新時間:2014年06月27日 17:39:18 投稿:whsnow
根據某年某周獲取一周的日期。如開始日期規(guī)定為星期四到下一周的星期五為一周,需要的朋友可以參考下
JS獲取日期時遇到如下需求,根據某年某周獲取一周的日期。如開始日期規(guī)定為星期四到下一周的星期五為一周。
代碼如下:
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("");
}
}
相關文章
uniapp中uni.navigateBack返回后刷新頁面數據的實現
本文主要介紹了uniapp中uni.navigateBack返回后刷新頁面數據的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-11-11

