Javascript 날짜 일수 계산 - Javascript naljja ilsu gyesan

JavaScript 날짜 계산 방법(어제, 한달 전, 일년 전, 내일, 한달 후, 일년 후 구하기, 날짜 더하기, 날짜 빼기)

JavaScript에서 날짜를 계산하는 방법을 알려드리도록 하겠습니다.

몇일 전, 몇일 후 날짜 계산하는 방법

var now = new Date();	// 현재 날짜 및 시간
console.log("현재 : ", now);
var yesterday = new Date(now.setDate(now.getDate() - 1));	// 어제
console.log("어제 : ", yesterday);

var now = new Date();	// 현재 날짜 및 시간
console.log("현재 : ", now);
var tomorrow = new Date(now.setDate(now.getDate() + 1));	// 내일
console.log("내일 : ", tomorrow);

몇일 전, 몇일 후 날짜를 구하기 위해서는 기준 날짜 Date 객체의 getDate()를 사용하여 을 구해온 뒤,

원하는 일수 만큼 더하거나 빼주고,

그 값을 Date 객체의 setDate()를 사용해 해당 값으로 을 세팅 해줍니다.

그렇게 하면 세팅된 날짜의 Timestamp를 반환하므로 Timestamp를 다시 new Date()Date 객체로 만들어주면,

원하는 일 전후로 변경된 날짜가 반환됩니다.

Javascript 날짜 일수 계산 - Javascript naljja ilsu gyesan

몇달 전, 몇달 후 날짜 계산하는 방법

var now = new Date();	// 현재 날짜 및 시간
console.log("현재 : ", now);
var oneMonthAgo = new Date(now.setMonth(now.getMonth() - 1));	// 한달 전
console.log("한달 전 : ", oneMonthAgo);

var now = new Date();	// 현재 날짜 및 시간
console.log("현재 : ", now);
var oneMonthLater = new Date(now.setMonth(now.getMonth() + 1));	// 한달 후
console.log("한달 후 : ", oneMonthLater);

몇달 전, 몇달 후 날짜를 구하기 위해서는 기준 날짜 Date 객체의 getMonth()를 사용하여 을 구해온 뒤,

원하는 월수 만큼 더하거나 빼주고,

그 값을 Date 객체의 setMonth()를 사용해 해당 값으로 을 세팅 해줍니다.

그렇게 하면 세팅된 날짜의 Timestamp를 반환하므로 Timestamp를 다시 new Date()Date 객체로 만들어주면,

원하는 월 전후로 변경된 날짜가 반환됩니다.

Javascript 날짜 일수 계산 - Javascript naljja ilsu gyesan

몇년 전, 몇년 후 날짜 계산하는 방법

var now = new Date();	// 현재 날짜 및 시간
console.log("현재 : ", now);
var oneYearAgo = new Date(now.setFullYear(now.getFullYear() - 1));	// 일년 전
console.log("일년 전 : ", oneYearAgo);

var now = new Date();	// 현재 날짜 및 시간
console.log("현재 : ", now);
var oneYearLater = new Date(now.setFullYear(now.getFullYear() + 1));	// 일년 후
console.log("일년 후 : ", oneYearLater);

몇년 전, 몇년 후 날짜를 구하기 위해서는 기준 날짜 Date 객체의 getFullYear()를 사용하여 을 구해온 뒤,

원하는 년수 만큼 더하거나 빼주고,

그 값을 Date 객체의 setFullYear()를 사용해 해당 값으로 을 세팅 해줍니다.

그렇게 하면 세팅된 날짜의 Timestamp를 반환하므로 Timestamp를 다시 new Date() Date 객체로 만들어주면,

원하는 년 전후로 변경된 날짜가 반환됩니다.

Javascript 날짜 일수 계산 - Javascript naljja ilsu gyesan

도움이 되셨다면 공감, 댓글 부탁드립니다!
제 글에 잘못된 정보, 더 좋은 방법 혹은 정보, 궁금하신 점, 요청 사항 등이 있으시다면 언제든지 말씀해 주세요!

감사합니다.

안녕하세요 ! 

오늘은 javascript에서 간단하게 날짜 계산하는법을 알아보겠습니다 !!! 

저는 typescript에서 진행할겁니다 !! 

먼저 !! 기본적으로 날짜를 제공해주는

Date함수를 이용하자 ! 

Date함수를 이용해서 기본적인 날짜를 가져와봅시다 ! 

밑에처럼 코드를 짜주시고 ! console.log로 확인해봅시다 ! 

Javascript 날짜 일수 계산 - Javascript naljja ilsu gyesan
Javascript 날짜 일수 계산 - Javascript naljja ilsu gyesan

이렇게 나왔습니다 !!! 

데이트 함수는 object로써 사용가능합니다 !!! 그러면 본격적으로 날짜 계산을 위한 틀을 만들어볼까요?? 

일자를 먼저 뽑아보겠습니다 !! ( 형식은 '년도-월-일'

export const formatDate = (dt: Date): string => {
  const y = dt.getFullYear();
  const m = ("0" + (dt.getMonth() + 1)).slice(-2);
  const d = ("0" + dt.getDate()).slice(-2);
  return y + "-" + m + "-" + d;
};

우선 ! 저렇게 해주시면 !! 2022-04-19 이런식으로 뽑아 올 수 있습니다 !! 

혹시라도 폼 형식을 - ( 하이픈 )이 아닌 / ( 슬래쉬 )로 하고싶으신분들은 바꿔주셔도 무방합니다 ! 

앞에 왜 0 을붙이는지와 slice를 쓰는 이유는 정확한 계산을 하기 위해서 입니다 !!!! ( 004로 해서 뒤에 2개만 추출 !  즉 04! ) 

밑에서 보여드리겠습니다 ! 

또한 

const m = ("0" + (dt.getMonth() + 1)).slice(-2);

저렇게 getMonth() + 1을 했는데요 ! 이유는 getMonth를 하면 현재 달이 4월이면 3이 뽑힙니다 ! 

이유는 0~11로 달을 카운팅하기 때문입니다 !그래서 정확하게 하려고 1을 더해줘서 정확한 날짜를 리턴 시키기 위해서 입니다 ^^ 

한번 실제로 봐볼까요? 

Javascript 날짜 일수 계산 - Javascript naljja ilsu gyesan

위에 보시면 실제로 getMonth()만 썼을때는 3이 뽑힙니다 !!! 현재날짜는 4월인데 !  그래서  +1을 했습니다 !  

자 이제 '2022-04-19' 이런식으로 쉽게 날짜를 뽑아 올 수 있습니다 !! 

그러면 일자를 계산해볼까요?? 예를 들어서 '2022-04-15'면 몇일정도 차이가 나는지?

export const getDateDiff = (dateString1: string | Date, dateString2: string | Date): number => {
  // 먼저 받아온 형식의 날짜를 date형식으로 ! 
  const date1 = new Date(dateString1);
  const date2 = new Date(dateString2);
  // 그 다음에 getTime를 써서 날짜를 계산해줍니다 ! 밀리초를 반환합니다.
  const msDiff = date1.getTime() - date2.getTime();
  // 차이는 ? (1000밀리초×60초×60분×24시간)
  return Math.ceil(msDiff / (1000 * 60 * 60 * 24));
};

자 ! 위에처럼 해주세요 ! 

getTime을 사용해서 받아온 인자를 밀리초로 바꿔서 그것을 계산해서 리턴해주는 소스입니다 ! 

그럼 결과값을 봐바야겠죠?? 

Javascript 날짜 일수 계산 - Javascript naljja ilsu gyesan

짠 ! 다 됐습니다 !!! 

먼저 getDateDiff( 날짜, 날짜 ) 이런식으로 넣어줍니다 ! 기본적으로는 앞에 날짜를 더 큰 날짜를 넣어주세요 !!! 더 알아보기 쉽게 하는게 좋잖아요 ! 

저렇게 하면 손 쉽게 일자를 계산 할 수 있습니다 !!! 

그러고 나서 Math.abs를 써서 혹시라도 실수를 했더라도 음수가 안나오게 해줍니다 !!! ( 절대값 ! ) 

자 ! 오늘은 여러가지로 많이 쓰이는 일자를 계산하는 법에 대해서 알아봤습니다 ! 

정말 손쉽게 사용 가능하니 한번 써보세요 !! 

지금까지 경험상 몇달, 몇시간... 이런 경우보다 훨씬 더 많이 쓰였습니다 !!