채택완료

기간별 날짜

2017-10-23 (월) 13:48:16 2,209
Copy
var stDt    var endDt    var date = new Date()    if ( between === 'all') {    } else if (between=== 'day') {      stDt= date      endDt = new Date(date.valueOf() + 1000 * 3600 * 24)      } else if (between === 'week') {      stDt = date      regEnd = new Date(date.valueOf() + 1000 * 3600 * 24 * 7)    } else if (between === 'month') {      stDt = date      endDt = new Date(date.valueOf() + 1000 * 3600 * 24 * 31)    }

안녕하세요 위의 코드를 작성하였습니다.

동작되는것 까지 확인되었는데

date + 1을 1000 * 3600 * 24 이렇게 했는데

이것보다 더 좋은 방법이 있을것 같아서 질문드립나다.

console로 new Date()를 찍어보면 2017-10-23T04:45:43.164Z 이렇게 나옵니다.

오늘 날짜를 기준으로 아래의 날짜를 구하고 싶습니다.

1. 오늘날짜 

2. 이번달 1일 날짜 ex ) 2017-10-01

3. 이번주 월요일 날짜 ex) 2017-10-23 

4. 일주일전 날짜 

5. 한달전 날짜 

이렇게 구하고 싶습니다.

도움 부탁드립니다.

|

답변 2개 / 댓글 1개

채택된 답변
+20 포인트

https://www.w3schools.com/php/func_date_date_add.asp

이런거 참고하시면 안될까요?

http://snipplr.com/view/10958/

이런 방법도 있구요

답변에 대한 댓글 1개

시도는 해보았는데
DB에도 2017-10-23T04:51:36.607Z 식으로 저장되어있어서


between (new Date() , new Date() + 1)하며면

2017-10-23T04:51:36.607Z ~ 2017-10-24
이런식으로 변환되어서

질의 결과가 0으로 나옵니다.

따라서

new Date() 한 값에 1000 * 3600 * 24 (시간) 해보면

2017-10-23T04:51:36.607Z ~ 2017-10-24T04:51:36.607Z

질의가 되고요

답변 감사드립니다.
2017-10-23 (월) 14:52:15

DB에 값이 

yyyy-mm-dd 이렇게 저장되어야 하네요 

감사합니다.

답변을 작성하려면 로그인이 필요합니다.