웹사이트 검색

JavaScript 날짜 개체 탐색


JavaScript에서 날짜를 처리할 수 있는 몇 가지 훌륭한 라이브러리가 있으며 date-fns가 아마도 가장 인기 있는 두 가지일 것입니다. 그러나 날짜를 가지고 놀고 기본 JavaScript 날짜 개체 대신 라이브러리를 사용하기 위한 몇 가지 기본 요구 사항만 있는 것은 매우 일반적입니다. 따라서 날짜 개체를 사용하여 기본적으로 수행할 수 있는 작업을 살펴보겠습니다.

날짜 개체 만들기

새 날짜 인스턴스를 만드는 것은 날짜 개체를 새로 만드는 것만큼 쉽습니다.

인수가 없으면 현지 시간대의 현재 날짜와 시간을 얻습니다.

const now = new Date();

console.log(now); // Wed Dec 06 2017 18:30:55 GMT-0800 (PST)

Unix Epoch 이후 밀리초

1970년 1월 1일 UTC 이후의 X 밀리초인 날짜 개체에 대해 정수를 전달할 수도 있습니다.

const latter = new Date(4000000000);

console.log(latter); // Sun Feb 15 1970 23:06:40 GMT-0800 (PST)

날짜 문자열

또는 문자열을 전달하여 날짜 개체를 만들 수도 있습니다.

const summerOf95 = new Date("1995-06-28");

// or, with a full date string that also includes the time and the time zone. Note here that `Z` is for UTC timezone:
const december31st = new Date("1999-12-31T02:56:03.392Z");

날짜 구성요소

마지막으로 별도의 구성 요소 인수를 사용하여 현지 시간대에서 날짜 개체를 만들 수 있습니다.

const someDate = new Date(2000, 5, 20, 16, 34, 12, 24);

console.log(someDate); // Tue Jun 20 2000 16:34:12 GMT-0700 (PDT)

월은 0부터 시작하므로 5는 6월을 나타냅니다. 시간 구성 요소는 생략할 수 있으며 0이 가정됩니다.

const someDate = new Date(2000, 5, 20, 16, null, 12, 24);

console.log(someDate); // Tue Jun 20 2000 16:00:12 GMT-0700 (PDT)

콘솔에서 날짜 개체를 기록할 때 반환되는 날짜가 혼란스럽다면 대부분의 브라우저가 현지 시간대로 시간을 출력한다는 점을 기억하세요.

타임스탬프

날짜 인스턴스의 getTime 메소드를 사용하여 타임스탬프(1970년 1월 1일 UTC 이후 밀리초 수)를 가져옵니다.

const nowTimestamp = new Date().getTime();

console.log(nowTimestamp); // 1512616153783

현재 타임스탬프

위의 예에서 우리는 지금에 대한 타임스탬프를 얻습니다. 이것은 매우 일반적이어서 이제 JavaScript에는 보다 쉽게 얻을 수 있는 방법이 있습니다.

const nowTimestamp = Date.now();

console.log(nowTimestamp); // 1512616153783

타임스탬프는 두 날짜 사이의 차이(밀리초)를 쉽게 계산하는 데 유용합니다. 예를 들어, 1996년 2월 3일과 1970년 1월 1일 사이의 차이(밀리초)는 다음과 같습니다.

const diff = new Date("1995-02-03").getTime() - new Date(0).getTime();

위의 경우 getTime에 대한 호출을 생략할 수 있으며 날짜는 자동으로 타임스탬프로 강제 변환됩니다.

const diff = new Date("1995-02-03") - new Date(0);

사람이 읽을 수 있는 문자열

날짜 개체 인스턴스는 또한 인간에게 친숙한 문자열 표현을 얻을 수 있는 몇 가지 유용한 방법을 제공합니다. toDateString, toTimeString, toLocaleDateString, toLocaleString, toLocaleTimeStringtoUTCString 메소드는 가장 유용한 메소드이며 다음 예제에서 설명합니다.

const now = new Date();

console.log(now.toDateString()); // Wed Dec 06 2017
console.log(now.toTimeString()); // 19:23:42 GMT-0800 (PST)
console.log(now.toLocaleDateString()); // 12/6/2017
console.log(now.toLocaleString()); // 12/6/2017, 7:20:28 PM
console.log(now.toLocaleTimeString()); // 7:20:51 PM
console.log(now.toUTCString()); // Thu, 07 Dec 2017 03:21:14 GMT

날짜 또는 시간 구성 요소 가져오기

다음 방법을 사용하여 날짜 인스턴스에서 특정 날짜/시간 구성 요소를 가져올 수 있습니다.

  • getFullYear(): 연도, 4자리 사용.
  • getDate(): 날짜(예: 31).
  • getMonth(): 월을 나타내는 0부터 시작하는 정수(예: 1월은 0).
  • getDay(): 일요일은 0부터 토요일은 6까지 요일에 대한 인덱스입니다.
  • getHours(): 시간.
  • getMinutes(): 분.
  • getSeconds(): 초.
  • getMilliseconds(): 밀리초.

다음은 간단한 예입니다.

const now = new Date();

console.log(`It's ${now.getHours()}:${now.getMinutes()} o'clock`);
// It's 19:34 O'Clock

위의 모든 메서드는 현지 시간대의 날짜/시간 구성 요소를 반환합니다. 각 메서드에는 UTC 날짜/시간이 대신 반환되도록 동등한 항목이 있습니다(예: getUTCMinutes()).

날짜 또는 시간 구성 요소 설정

날짜/시간 구성 요소를 얻는 방법과 유사하게 유사한 방법을 사용하여 설정할 수도 있습니다.

const now = new Date();

now.setFullYear(2049);

console.log(now.toLocaleString()); // 12/6/2049, 7:40:04 PM

대부분의 set 메서드가 다른 구성 요소를 설정하기 위해 여러 인수를 사용할 수 있는 바로 가기가 있습니다. 이 두 스니펫은 동일한 결과를 생성합니다.

const now = new Date();


const now = new Date();


시간 더하기/빼기

get 및 set 메소드의 조합을 사용하여 날짜 인스턴스의 날짜/시간 구성 요소에 더하거나 뺄 수 있습니다. 예를 들어 현재 시간에 15분을 더합니다.

const now = new Date();

console.log(now.toLocaleTimeString()); // 7:47:53 PM

now.setMinutes(now.getMinutes() + 15);

console.log(now.toLocaleTimeString()); // 8:02:53 PM