아핫뉴스실시간 인기검색어
아핫뉴스 화산 이미지
화산 아이콘 11
이재명 해수부 업무보고
아하

생활

생활꿀팁

솔직한줄나비94
솔직한줄나비94

js로 시간보다 10분전을 출력

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

    3개의 답변이 있어요!
    • 루이엘루이
      루이엘루이

      기본적으로 스크립트에서 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 를 출력해줍니다 ^^