✏️기록하는 즐거움
article thumbnail

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

|  제출

function solution(a, b) {
   const date = new Date(2016, a-1, b);
   return date.toLocaleDateString('ko-KR', {weekday: 'short'}).toUpperCase();
}

 

|  풀이과정

Date 생성자를 사용하여 입력받은 a, b로 지정된 날짜를 생성할 수 있다.

생성된 날짜로 요일 부분을 리턴하면 된다.

 

월을 나타내는 monthIndex는 1월부터 12월까지 0~11 인덱스를 사용하기 때문에 a-1을 해주어야한다.

 

 

그 외 방법 )

toLocaleDateString() 메서드를 사용해서 요일 부분만 가져왔지, Date 객체에 toString 메서드를 사용하면

Date 객체의 시간을 문자열로 반환한다.

const date = new Date();

console.log(date.toString());
// Thu Sep 01 2022 16:55:17 GMT+0900 (한국 표준시)

앞에 요일이 출력되기 때문에 반환된 문자열에 slice 메서드를 사용해주는 방법도 있다.

function solution(a, b) {
   const date = new Date(2016, a-1, b);
   return date.toString().slice(0, 2).toUpperCase();
}

 

|  개념

Date() 생성자

  • 시간의 특정 지점을 나타내는 Date 객체를 생성한다.
  • Date 객체는 UTC 자정으로부터 지난 시간을 밀리초로 나타내는 UNIX 타임 스탬프를 담는다.
  • 생성자 매개변수는 네 가지 형태로 사용할 수 있다.
    • 1) 매개변수 없음 - 생성 순간의 날짜와 시간을 나타내는 Date 객체
    • 2) UNIX 타임스탬프 값
    • 3) 타임스탬프 문자열
    • 4) 개별 날짜 및 시간 구성 요소
      • new Date(year, monthIndex, day, hours, minutes, seconds, milliseconds)

Date.prototype.toLocaleDateString()

  • 사용자의 시간대에서 지정된 날짜의 날짜 부분을 언어에 따라 표현한 문자열을 반환한다.
  • 매개변수
    • 1) 매개변수 없음 - 언어별 규칙에 따라 지정된 인스턴스의 날짜 부분을 나타내는 문자열
    • 2) 매개변수
      • 첫 번째 인수 (locales) - BCP 47 언어 태그가 있는 문자열 또는 이러한 문자열의 배열
        하위 태그와 시퀀스는 하이픈으로 구분된다.
        • "hi" : 힌디어(언어)
        • "de-AT" : 오스트리아(지역)에서 사용되는 독일어(언어)
        • "zh-Hans-CN" : 중국(지역)에서 사용되는 간체 문자(스크립트)로 작성된 중국어(언어)
      • 두 번째 인수 (options) - 출력 형식을 조정하는 개체
const date = new Date(Date.UTC(2012, 11, 12, 3, 0, 0));

console.log(date.toLocaleDateString());
// "12/11/2012" if run in en-US locale with time zone America/Los_Angeles

// request a weekday along with a long date
const options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
console.log(date.toLocaleDateString('de-DE', options));
// "Donnerstag, 20. Dezember 2012"

 

profile

✏️기록하는 즐거움

@nor_coding

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!