JavaScript 날짜, 시간 차이 계산 - JavaScript naljja, sigan chai gyesan

JS에서 날짜 및 시간을 계산하는 방법과 시간 차이 구하는 방법을 기술합니다.

여기서 말하는 날짜 및 시간 계산은 기준 시간에서 일정 시간(년, 월, 일, 시, 분, 초) 전/후의 시간을 계산하는 것을 의미합니다.

날짜 계산하기

기준 날짜로부터 특정 시간 전/후의 날짜나 시간이 필요할 수 있습니다.

이럴 때에는 아래와 같이 사용해주면 됩니다.

const date = new Date()
// 2021. 5. 20. 오후 9:55:04

// 일
date.setDate(date.getDate() + 100)
// 2021. 8. 28. 오후 9:55:04

기특하게도 넘어가는 년, 월까지 함께 계산해줍니다.

날짜 뿐 아니라 다른 속성을 바꾸고 싶다면 아래 항목들 중 골라서 사용하면 됩니다.

const date = new Date()

// 년
date.setFullYear(date.getFullYear() + 51)

// 월
date.setMonth(date.getMonth() - 10)

// 일
date.setDate(date.getDate() + 100)

// 시
date.setHours(date.getHours() + 100)

// 분
date.setMinutes(date.getMinutes() + 100)

// 초
date.setSeconds(date.getSeconds() + 100)

참조

  • https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Date/setDate

본문

JavaScript 2018. 7. 10. 00:19

var tDate = new Date('2018-07-10 12:30')

// 날짜(일) 더하기

tDate.setDate(tDate.getDate()+1)

// 시간 더하기

tDate.setHours(tDate.getHours()+6)

// 분 더하기

tDate.setMinutes(tDate.getMinutes()+30)

console.log(tDate)

cs

댓글

공유하기

var Dt= new Date(); //현재 날짜 및 시간

//현재시간 기준 계산

alert(new Date(Date.parse(Dt) - 30 * 1000 * 60 * 60 * 24)); //30일전
alert(new Date(Date.parse(Dt) - 15 * 1000 * 60 * 60 * 24)); //보름전
alert(new Date(Date.parse(Dt) - 7 * 1000 * 60 * 60 * 24)); //일주일전
alert(new Date(Date.parse(Dt) - 1 * 1000 * 60 * 60 * 24)); //하루전
alert(new Date(Date.parse(Dt) + 1 * 1000 * 60 * 60 * 24)); //하루후
alert(new Date(Date.parse(Dt) + 7 * 1000 * 60 * 60 * 24)); //일주일후
alert(new Date(Date.parse(Dt) + 15 * 1000 * 60 * 60 * 24)); //보름후
alert(new Date(Date.parse(Dt) + 30 * 1000 * 60 * 60 * 24)); //한달후

alert(new Date(Date.parse(Dt) + 1000 * 60 * 60)); //한시간후
alert(new Date(Date.parse(Dt) + 1000 * 60)); //1분후
alert(new Date(Date.parse(Dt) + 1000)); //1초후

//응용

alert(new Date(Date.parse(Dt) + (15000*50) + 1000*60*65))); //15초씩 50번 지난 이후 한시간 5분후

//Date 개체를 입력받아 yyyy-MM-dd hh:mm:ss 형식으로 반환

function timeSt(dt) {
    var d = new Date(dt);
    var yyyy = d.getFullYear();
    var MM = d.getMonth()+1;
    var dd = d.getDate();
    var hh = d.getHours();
    var mm = d.getMinutes();
    var ss = d.getSeconds();

    return (yyyy + '-' + addzero(MM) + '-' + addzero(dd) + ' ' + addzero(hh) + ':' + addzero(mm) + ':' + addzero(ss));
}

//10보다 작으면 앞에 0을 붙임

function addzero(n) {
    return n < 10 ? "0" + n : n;
}

alert(timeSt(new Date()));