아하 로고
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
솔직한줄나비94
솔직한줄나비9420.03.27
js로 시간보다 10분전을 출력

js로 현재 시간의 10분전을 출력하려면 어떻게 해야 하나요?

  • 기본적으로 스크립트에서 moment()를 적어주면 오늘 날짜, 시간 정보를 갖고올 수 있습니다.

    스크립트에서 오늘 날짜를 갖고와야 한다고 하면 일반적으로 떠오르는 가장 기본적인 방법이 Date 객체를 이용하는 것인데moment.js 를 이용하면 사용자가 직접 Date 객체를 생성하지 않아도 간단하게 날짜, 시간을 핸들링할 수 있어요. 우선은 moment.js 를 사용하려면 스크립트 소스를 다운받으세요ㆍ

    https://github.com/moment/moment/

    moment() 안에 어떠한 인수를 넣어주지 않으면 현재 시각 기준으로 갖고옵니다. month() 같은 경우는 1월이 0부터 시작이라서 8월인 지금 7로 찍히고 있다는 것을 알 수 있습니다. (이것은 자바스크립트 뿐만 아니라 자바도 마찬가지입니다)ㆍmoment()를 적어주고 그 뒤에 어떠한 형태로 갖고올것인지 format 형식을 적어주면 년월일 및 시간을 조합해서 원하는 포맷 형태로 갖고올 수 있습니다.


  • 안녕하세요?

    질문을 제가 대충 정리했을때 나오는 값이 아래와 같을것으로 추정합니다.

    0100~04 --> 0050

    0105~09 --> 0055

    0110~14 --> 0100

    0115~19 --> 0105

    0120~24 --> 0110

    0125~29 --> 0115

    푸는 방법은사람에 따라서 여러가지가 있고 더 짧게도 가능할것 같은데

    가독성이 떨어질거 같아서 최대한 이해하기 편하게 만들었습니다.

    // 현재 시간 구하기 const t = new Date(); // h = 시 // m = 분 let h = t.getHours(); let m = t.getMinutes(); // 각 시간의 5분 간격에서 10분 빼기 m = m - (m % 5) - 10; // 현재 분이 0보다 작은경우, 60분에서 빼주기 if (m < 0) { h = h - 1 < 0 ? 11 : h - 1; // 현재 m 이 -5 나 -10 이므로 60 + (-5) = 55 또는 60 + (-10) = 50 m = 60 + m; } // h 가 10보다 작으면 앞에 0 붙여주기 h = h < 10 ? `0${h}` : `${h}`; // m 이 10보다 작으면 앞에 0 붙여주기 m = m < 10 ? `0${m}` : `${m}`; // 출력 console.log(h + m);

    수고하세요

    [추가]

    현재 시간에서 10분전 시간 구하기

    import moment from "moment";

    const now = new Date();

    const b410 = moment(now) .subtract(10, "m") .toDate();

    console.log(b410);

    참고링크: https://momentjs.com/docs/#/manipulating/subtract/


  • <!DOCTYPE html> <html> <body> <h2> js로 시간보다 10분전을 출력 5분단위로</h2> <p id="demo"></p> <script> var d = new Date(); var h = ('0' + ( d.getHours() )).slice(-2); var m = ('0' + ( d.getMinutes() - 10 )).slice(-2); var k = m.slice(-1); if (k > 4) { document.getElementById("demo").innerHTML = h + m.slice(-2,-1) + '5' ; } else { document.getElementById("demo").innerHTML = h + m.slice(-2,-1) + '0' ; } </script> </body> </html>

    원리는 간단합니다

    우선 분 을 2자리 숫자로 변경을 해주고 맨우측에 있는 숫자가 0 ~ 4 사이면 0 출력

    5~9 라면 5 를 출력해줍니다 ^^