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

2020. 03. 27. 04:54

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

공유하고 돈벌기 ♥︎

총 3개의 답변이 있습니다.

질문자 채택 답변

<!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 를 출력해줍니다 ^^

2020. 03. 27. 15:27
9
https://github.com/kangisworking

안녕하세요?

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

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/

2020. 03. 27. 15:39
10

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

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

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

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

2020. 03. 28. 04:44
10