Date() 객체로 날짜를 출력해보면 월, 분, 초 부분에서 1자리수가 출력될 때 1자리만 출력된다. 예를 들어 6월이면 06이 아니라 6만 출력된다. 2022-6-20 이런식으로 말이다. 나는 2022-06-20 이런 식으로 출력하고 싶다.
let now = new Date();
return now.getFullYear() + "-" + ('0'+(now.getMonth()+1)).slice(-2) + "-" + now.getDate() + " (" + '일월화수목금토'.charAt(now.getUTCDay())+') '
+ now.getHours() + ":" + ('0'+now.getMinutes()).slice(-2) + ":" + ('0'+now.getSeconds()).slice(-2);
now.getMonth() 만으로 하면 예를 들어 6월이면 06이 아닌 6이 되기 때문에 앞에 문자 '0' 을 붙이고 slice(-2)로 문자열 뒤에서 2개의 문자만 추출한다. 이렇게 하면 1~9월까지는 01~09로 되고 10~12월은 010~012 인 상태에서 slice로 뒤에서 2개 문자만 추출되기 때문에 원하는 결과를 얻을 수 있다.
요일 같은 경우는 charAt을 사용해서 코드를 구성하면 1줄로 간단하게 구현할 수 있다. chatAt의 매개변수로 index 값을 넣으면 되는데, getUTCDay()가 요일을 숫자로 일요일부터 0으로 시작해서 토요일인 6까지 표시할 수 있다.
'개발 공부 > 자바스크립트(JavaScript)' 카테고리의 다른 글
[js] remove(), empty() 함수 차이 (0) | 2022.07.11 |
---|---|
[js] sort 함수로 배열 정렬하기 (0) | 2022.06.20 |
[js] 현재 날짜(이후)에서 가장 가까운 특정 요일의 날짜 구하기 (0) | 2022.06.20 |
[js] focus(), change() 로 dropdown 메뉴 변경 전 값 얻기 (0) | 2022.06.20 |
[js] 드롭다운(dropdown)에서 선택된 값 얻기 (0) | 2022.06.16 |
[js] append()로 특정 id값을 가진 부모의 자식 태그 만들기 (0) | 2022.06.16 |