Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- IT용어
- 토토이크 떠돌이상인
- SSL
- 한글
- 슈샤이어 떠돌이상인
- 로헨델 떠돌이상인
- SI
- 애니츠 떠돌이상인
- 아르데타인 떠돌이상인
- 홈페이지제작견적
- 이름바꾸기
- 루테란 떠돌이상인
- 가로세로세팅
- https
- 페이튼 떠돌이상인
- HWP
- 파푸니카 떠돌이상인
- 유튜브
- 욘 떠돌이상인
- 특정페이지가로로
- zoom
- PIP모드
- 작은화면
- SE
- 베른 떠돌이상인
- 3
- sm
Archives
- Today
- Total
도담도담
특정 날짜,기간 찾기 (주간, 월간, 연간) 본문
데이터 가공을 하다가 날짜관련해서 정비를 하게 됬었는데,
특정기간을 찾는게 은근 시간을 꽤 소비하는 작업이였다.
그래서 특정 기간을 찾을때 사용했던 기본 로직을 좀 정리해보았다.
1. 지난주, 저번주
var today = new Date();
var year = today.getFullYear();
var month = today.getMonth();
var day = today.getDate();
//-----------기본 날짜 형식 구성-----------
var last_week = new Date(year, month, day - 7);
var week = moment(last_week).format('YYYYMMDD').toString();
week;
//-----------지난주 날짜 설정-----------
2. 지난달, 저번달
var today = new Date();
var year = today.getFullYear();
var month = today.getMonth();
var day = today.getDate();
//-----------기본 날짜 형식 구성-----------
if(지난달에대한요청){
var last_month = new Date(year, month - 1, 1);
var month = moment(last_month).format('YYYYMMDD').toString();
}else if(이번달에대한요청){
var this_month = new Date(year, month, 1);
var month = moment(this_month).format('YYYYMMDD').toString();
}
month;
//-----------지난달 날짜 설정-----------
3. 특정년도
var today = new Date();
var year = today.getFullYear();
var month = today.getMonth();
var day = today.getDate();
//-----------기본 날짜 형식 구성-----------
var check_year = 찾고자하는 해당연도
if(check_year < year){
var that_year = new Date(check_year, 0, 1);
} else {
var that_year = new Date(year,0,1);
}
year = moment(yeat_year).format('YYYYMMDD').toString();
year;
//-----------특정 년도 설정-----------
// 찾고자하는 연도가 미래일 경우는 아직 생성된 데이터가 없기떄문에 올해로 설정
4. 특정기간의 시작날짜와 마지막날짜
// 상단의 케이스들에서 정리된 데이터를 사용
//시작날짜설정
if(week){
week;
} else if (month){
month;
} else {
var today = moment(_.now()).format('YYYYDDMM').toString();
var year = parseInt(today.substring(0, 4));
var month = parseInt(today.substring(4, 6));
var date = parseInt(today.substring(6, 8));
var setDate = new Date(yeat - 1, month - 1, date + 1);
var startDate = moment(setDate).format('YYYYDDMM').toString();
startDate;
}
//마지막날짜설정
if(month){
var year = parseInt(today.substring(0, 4));
var month = parseInt(today.substring(4, 6));
var lastDate = new Date(year, month, 0).getDate();
var setDate = new Date(year, month - 1, lastDate);
var endDate = moment(setDate).format('YYYYDDMM').toString();
endDate;
} else {
let endDate = moment(_.now()).format('YYYYDDMM').toString();
endDate;
}
* 원하는 방식에 따라서 확인 및 참고용 추가 *
// 특정 날짜 정하기
new Date(2020, 0, 1).toLocaleDateString();
// 어제 날짜 구하기
new Date(year, month, day - 1).toLocaleDateString();
// 일주일 전 구하기
new Date(year, month, day - 7).toLocaleDateString();
// 한달 전 구하기
new Date(year, month - 1, day).toLocaleDateString();
// 일년 전 구하기
new Date(year - 1, month, day).toLocaleDateString();
// 15일
new Date().setDate(15);
// 14일
const month = 15;
new Date().setDate(day - 1);
// 2월
const month = 3;
new Date().setMonth(month - 1);
// 2021년
const year = 2022;
new Date().setYear(year - 1);
'IT 공부 > 개인정리' 카테고리의 다른 글
[우분투] mariaDB 포트확인 (0) | 2022.11.07 |
---|---|
리눅스 우분투(Ubuntu) 설치 (0) | 2022.11.04 |
trim() (빈공간제거) (0) | 2022.06.20 |
배열 가공 및 배열 합치기 (0) | 2022.06.13 |
3항연산자 (if문 대신 빠르게 사용) (0) | 2022.06.07 |
Comments