2016-07-26 9 views
0

나는 현재 날짜 시간을 나타내는 ISO 날짜 시간 문자열을 가지고있다 : 2016-07-26T11:56:59.792Z. 이번 주에 [시작일, 종료일>]을 어떻게 얻습니까?JS의 주중 중순에서 임의의 날짜 시간이 지정된 요일의 시작과 끝을 얻는 방법은 무엇입니까?

시작 : 2016-07-25T00:00:00.000Z 끝 : 2016-07-32T00:00:00.000Z

+0

나는 http://www.datejs.com/ – Bolza

+0

당신이 시도 무엇을 사용해야합니까? 질문은 현재 사람들이 당신을 위해 당신의 문제를 해결하기를 원하는 것처럼 들린다. 당신이 시도한 것을 보여 주면, 우리는 당신을 더 잘 안내 할 수있을 것입니다! – codeling

답변

0

당신은 대답 herehere에 주어진 기능을 사용할 수 있습니다.

var year = 2016; 
 
var week = 31; 
 
document.write("first day: " + getDateOfISOWeek(week, year) + "<br>"); 
 

 

 
function getWeekNumber(d) { 
 
    // Copy date so don't modify original 
 
    d = new Date(+d); 
 
    d.setHours(0,0,0); 
 
    // Set to nearest Thursday: current date + 4 - current day number 
 
    // Make Sunday's day number 7 
 
    d.setDate(d.getDate() + 4 - (d.getDay()||7)); 
 
    // Get first day of year 
 
    var yearStart = new Date(d.getFullYear(),0,1); 
 
    // Calculate full weeks to nearest Thursday 
 
    var weekNo = Math.ceil((((d - yearStart)/86400000) + 1)/7); 
 
    // Return array of year and week number 
 
    return [d.getFullYear(), weekNo]; 
 
} 
 

 
function getDateOfISOWeek(w, y) { 
 
    var simple = new Date(y, 0, 1 + (w - 1) * 7); 
 
    var dow = simple.getDay(); 
 
    var ISOweekStart = simple; 
 
    if (dow <= 4) 
 
     ISOweekStart.setDate(simple.getDate() - simple.getDay() + 1); 
 
    else 
 
     ISOweekStart.setDate(simple.getDate() + 8 - simple.getDay()); 
 
    return ISOweekStart; 
 
}
따라 당신은 마지막 날짜를 얻기 위해이 날짜 7 일에 추가 할 수 있습니다. (필요한 형식대로)

0

이 방법을 시도해보십시오.

var utcToday = '2016-07-26T11:56:59.792Z'; 
 

 
var start = startDate('2016-07-26T11:56:59.792Z'); 
 
console.log(start); 
 
var end = endDate('2016-07-26T11:56:59.792Z'); 
 
console.log(end); 
 

 
function startDate(dat){ 
 
var date = new Date(dat); 
 
var index = date.getUTCDay(); 
 
date.setUTCDate(date.getUTCDate()-(index-1)); 
 
date.setUTCHours('12'); 
 
date.setUTCMinutes('00'); 
 
date.setUTCSeconds('00'); 
 
date.setMilliseconds('000'); 
 
return date; 
 
} 
 
function endDate(dat){ 
 
var date = new Date(dat); 
 
var index = date.getUTCDay(); 
 
date.setUTCDate(date.getUTCDate()+(7-(index-1))); 
 
date.setUTCHours('12'); 
 
date.setUTCMinutes('00'); 
 
date.setUTCSeconds('00'); 
 
date.setMilliseconds('000'); 
 
return date; 
 
}