날짜 개체가 주어지면 지난 주 첫날 얻는 방법JavaScript의 날짜 객체에서 지난주의 첫날을 얻으려면 어떻게해야합니까?
답변
코드 :
function getPreviousSunday()
{
var today=new Date();
return new Date().setDate(today.getDate()-today.getDay()-7);
}
function getPreviousMonday()
{
var today=new Date();
if(today.getDay() != 0)
return new Date().setDate(today.getDate()-7-6);
else
return new Date().setDate(today.getDate()-today.getDay()-6);
}
추론 :
당신이 이전 주 첫날 무엇을 의미하는 따라 달라집니다. 이 토론을 위해 이전 일요일을 의미한다고 가정합니다.
는 일 수 뺄 확인하는 방법은 다음과 같습니다- 는 현재 요일을 가져옵니다. 현재 요일이 일요일 인 경우 현재 일 월요일 경우 현재 날짜가 토요일 인 경우
- 당신은 ... 당신이 팔일
을 빼기
- 을 칠일
- 빼기 십삼일
당신은 뺄 일 수를 결정하면 실제 코드는 간단하다
var previous_first_day_of_week=new Date().setDate(today.getDate()-X);
여기서 X는 상기 언급 된 값이다. 이 값은 오늘입니다 .getDay() + 7
주의 첫 번째 날까지 다른 것을 의미하는 경우 위 단계에서 답을 추론 할 수 있어야합니다.
참고 : 음수 값을 setDate 함수에 전달하면 올바로 작동합니다.
월요일 코드입니다. 월요일 전에 getDay() 명령을 내리기 때문에 특별한 경우가 있습니다. 그래서 우리는 근본적으로 getDay()를 getDay()의 saturday 값 +1로 대체하여 일요일을 주말에 다시 주문합니다.
getDay()가 우리가 원하는 것보다 매일 1을 더 높이기 때문에 월요일에 뺄셈에 6을 사용합니다.
첫날 일요일 또는 월요일 중 하나가 당신이 어떤 국가에 따라 될 수 있습니다
a.setDate(a.getDate()-7-a.getDay());
: 당신은 당신이 사용할 수있는 이전 일요일에 dateobject을 설정하려면
function getPrevSunday(a) {
return new Date(a.getTime() - ((7+a.getDay())*24*60*60*1000));
};
function getPrevMonday(a) {
return new Date(a.getTime() - ((6+(a.getDay()||7))*24*60*60*1000));
};
이전 월요일 :
a.setDate(a.getDate()-6-(a.getDay()||7));
function previousWeekSunday(d) {
return new Date(d.getFullYear(), d.getMonth(), d.getDate() - d.getDay() - 7);
}
function previousWeekMonday(d) {
if(!d.getDay())
return new Date(d.getFullYear(), d.getMonth(), d.getDate() - 13);
return new Date(d.getFullYear(), d.getMonth(), d.getDate() - d.getDay() - 6);
}
다른 사람들의 게시물을 이해하지 못했습니다. 주어진 일에 상대적인 일 - 토 주를 표시하는 데 사용하는 자바 스크립트입니다.그래서, 예를 들어, 얻을 "지난 주,"당신은 일/토 골대 일곱 일 전을 기준으로 무엇인지 확인하고 있습니다 : new Date()-7
// variables
var comparedate = new Date()-7; // a week ago
var dayofweek = comparedate.getDay();
// just for declaration
var lastdate;
var firstadate;
// functions
function formatDate (dateinput) // makes date "mm/dd/yyyy" string
{
var month = dateinput.getMonth()+1;
if(month < 10) { month = '0' + month }
var date = dateinput.getDate();
if(date < 10) { var date = '0' + date }
var dateoutput = month + '/' + date + '/' + dateinput.getFullYear();
return dateoutput;
}
// Sunday to Saturday ... Sunday is the firstdate, Saturday is the lastdate
// (modify this block if you want something different eg: Monday to Sunday)
if (dayofweek == 6) { lastdate = comparedate; firstdate = comparedate-6; } // Saturday
else if (dayofweek == 0) { lastdate = comparedate+6; firstdate = comparedate; } // Sunday
else if (dayofweek == 1) { lastdate = comparedate+5; firstdate = comparedate-1; } // Monday
else if (dayofweek == 2) { lastdate = comparedate+4; firstdate = comparedate-2; } // Tuesday
else if (dayofweek == 3) { lastdate = comparedate+3; firstdate = comparedate-3; } // Wednesday
else if (dayofweek == 4) { lastdate = comparedate+2; firstdate = comparedate-4; } // Thursday
else if (dayofweek == 5) { lastdate = comparedate+1; firstdate = comparedate-5; } // Friday
// Finish
var outputtowebpage = formatDate(firstdate) + ' - ' + formatDate(lastdate);
document.write(outputtowebpage);
내가 가진 것은 내가해야 할 때마다이를 조회하기 . 그래서, 이것이 다른 사람들에게 도움이되기를 바랍니다.
"특정 날짜와 관련하여"하는 것은 고객이 "1 주일에 완료 한 항목을 분류하는 도구"와 같은 것을 원하지만, 내가 가진 전부는 데이터 세트에서 작업 할 완료 날짜입니다 따라서 코드는 상대적으로주의 이름 집합을 즉석에서 생성해야합니다. – undrline
SailsJS에서 코드를 시험해 보았습니다. TypeError : comparate.getDay가 함수가 아닙니다. ' –
@Lexynux, SailsJS에 익숙하지 않습니다. 비교 항목의 철자가 같은 경우에도 변수를 생성하는 동안 7을 빼는 것이 좋지 않을 수도 있습니다. 같은 것을 시도하십시오 : 'var comparate = new Date(); // 오늘 comparate - = 7; // 주일 전 var dayofweek = comparate.getDay();' – undrline
다른 예들에서는 일요일이 다른 달에 떨어질 때 문제가 발생합니다. 그러면 문제가 해결됩니다.
var today, todayNumber, previousWeek, week, mondayNumber, monday;
today = new Date();
todayNumber = today.getDay();
previousWeek = -1; //For every week you want to go back the past fill in a lower number.
week = previousWeek * 7;
mondayNumber = 1 - todayNumber + week;
monday = new Date(today.getFullYear(), today.getMonth(), today.getDate()+mondayNumber);
- 1. 이달의 첫날을 cron에서 제외하려면 어떻게해야합니까?
- 2. Python : datetime.timedelta 객체에서 시간을 얻으려면 어떻게해야합니까?
- 3. nsdictionary 객체에서 이름과 URL의 값을 얻으려면 어떻게해야합니까?
- 4. XDocument 객체에서 자식 요소의 목록을 얻으려면 어떻게해야합니까?
- 5. JavaScript 객체에서 필드 수를 얻으려면 어떻게해야합니까?
- 6. 날짜 개체 파이썬에서 datetime을 얻으려면 어떻게해야합니까?
- 7. javascript의 노드 ID에서 Umbraco 노드 경로를 얻으려면 어떻게해야합니까?
- 8. Actionscript 2에서 XML 객체에서 302 리디렉션을 얻으려면 어떻게해야합니까?
- 9. (C에서) MagickWand 객체에서 libtiff TIFF 객체를 얻으려면 어떻게해야합니까?
- 10. WatiN Link 객체에서 원시 href 속성을 얻으려면 어떻게해야합니까?
- 11. UIImage 나 Cocoa의 그림에서 날짜 정보를 얻으려면 어떻게해야합니까?
- 12. 파이썬에서 파일의 수정 된 날짜/시간을 얻으려면 어떻게해야합니까?
- 13. 파이썬에서 현재 날짜 시간의 문자열 형식을 얻으려면 어떻게해야합니까? 예를 들어
- 14. JavaScript의 날짜 구문 분석 및 유효성 검사
- 15. JavaScript 구문 분석 JavaScript의 날짜 문자열
- 16. 두 날짜의 차이점을 얻으려면 어떻게해야합니까?
- 17. 카테고리별로 최신 게시물을 얻으려면 어떻게해야합니까?
- 18. 서버 날짜 및 시간을 얻으려면
- 19. Domain 객체에서 저장소에 액세스하지 않고 관련 하위 엔티티의 필터링 된 집합을 얻으려면 어떻게해야합니까?
- 20. 주문 오브젝트에서 선택한 제품 만 얻으려면 어떻게해야합니까?
- 21. TrackPopupMenu에서 니모닉을 얻으려면 어떻게해야합니까?
- 22. CPU 사용법을 얻으려면 어떻게해야합니까?
- 23. ActionExecutingContext에서 MethodInfo를 얻으려면 어떻게해야합니까?
- 24. 파일에서 CGImageRef를 얻으려면 어떻게해야합니까?
- 25. 조치 이름을 얻으려면 어떻게해야합니까?
- 26. 정규식을 올바르게 얻으려면 어떻게해야합니까?
- 27. 프로세스 추적을 얻으려면 어떻게해야합니까?
- 28. json에서 값을 얻으려면 어떻게해야합니까?
- 29. UINavigationBar에서 '매트'색상을 얻으려면 어떻게해야합니까?
- 30. 트랙바 값을 얻으려면 어떻게해야합니까?
매번 약간 다른 질문을하고 있습니다. OP, 당신이 쓰고있는 언어가 뭔지 알아? –
아니요, 이전 달에 물었습니다 –
내 첫날은 무엇입니까? 일요일? –