안녕하세요
7월22일46일차 - js로 시계 구현 본문
date 내장함수를 이용해 현재 시간을 출력할 수 있습니다.
toLocaleString() 함수는 위치한 지역의 시간대로 출력합니다.
<div class="date"></div>
<script>
const DATE = document.querySelector(".date");
const 날짜 = new Date();
const 요일 = ["일", "월", "화", "수", "목", "금", "토"];
DATE.innerHTML += 날짜.toLocaleString() + " 년. 월. 일. 시간<br/>"; // 년. 월. 일. 시간
DATE.innerHTML += 날짜.toLocaleDateString() + " 년. 월. 일.<br/>"; // 년. 월. 일.
DATE.innerHTML += 날짜.getFullYear() + "년.<br/>"; // 년.
DATE.innerHTML += 날짜.getMonth() + 1 + "월.<br/>"; // 월.
DATE.innerHTML += 날짜.getDate() + "일.<br/>"; // 일.
DATE.innerHTML += 날짜.getHours() + "시.<br/>"; // 시.
DATE.innerHTML += 날짜.getMinutes() + "분.<br/>"; // 분.
DATE.innerHTML += 날짜.getSeconds() + "초.<br/>"; // 초.
DATE.innerHTML += 요일[날짜.getDay()] + "요일.<br/>"; // 요일.
</script>
date함수를 이용해서 시계를 만듭니다.
transition을 적용하면 59초에서 0초로 바뀔 때 시계 바늘의 각도가
356deg > 0deg 로 변하기 때문에 시계 바늘이 반대로 회전하게 됩니다.
각도를 초기화하지 않고 쌓아주도록 합니다.
시간에 따른 시침의 사이각은 30도(360/12)이므로 움직임이 1시간에 1번만 30도를 움직이므로 그 모습이 어색합니다.
이를 1분마다 움직이도록 하거나, 매 초 1/3600도를 이동하도록 하면 시침을 자연스럽게 움직일 수 있도록 할 수 있을 듯 합니다.
'프론트엔드 국비교육' 카테고리의 다른 글
7월26일48일차 - 리액트 props 표현방식 (0) | 2022.07.27 |
---|---|
7월25일47일차 - 리액트 시작, 기본 구성 (0) | 2022.07.25 |
7월21일45일차 - 배열2 화살표함수 (0) | 2022.07.21 |
7월19일43일차 - 객체생성, 메소드 , 비구조화할당 (0) | 2022.07.19 |
7월18일42일차 - 함수, 호이스팅 (0) | 2022.07.18 |