[자바스크립트] Date()

bunny.log·2022년 11월 15일
0

Date 객체

월은 [0 ~ 11] 인덱스 사용

  • 0은 1월
  • 1은 2월
  • 2은 3월
  • 3은 4월
  • 4은 5월
  • 5은 6월
  • 6은 7월
  • 7은 8월
  • 8은 9월
  • 9은 10월
  • 11은 12월

요일은 [0 ~ 6] 인덱스 사용

  • 0은 일요일
  • 1은 월요일
  • 2은 화요일
  • 3은 수요일
  • 4은 목요일
  • 5은 금요일
  • 6은 토요일

자바스크립트 타임스탬프는 밀리초가 기준이다.

let date1 = new Date(); 
// -> Thu May 19 2022 18:11:13 GMT+0900 (한국 표준시)

let date2 = new Date(2022, 5, 19, 21, 0, 50, 10); 
// -> Sun Jun 19 2022 21:00:50 GMT+0900 (한국 표준시)

let date3 = new Date('2022-05-20');
// -> Fri May 20 2022 09:00:00 GMT+0900 (한국 표준시)

let date4 = new Date('2022-05-20 10:30:20');
// -> Fri May 20 2022 10:30:20 GMT+0900 (한국 표준시)

let date5 = new Date('2022-5-20 10:30:20');
// -> Fri May 20 2022 10:30:20 GMT+0900 (한국 표준시)

let date6 = new Date('1 2022-05-20 10:30:20');
// -> InValid Date

let date7 = new Date('fdskjksdlfjklsdf 2022-05-20 10:30:20');
// -> Fri May 20 2022 10:30:20 GMT+0900 (한국 표준시)

let date8 = new Date('2022.05.20 10:30:20');
// -> Fri May 20 2022 10:30:20 GMT+0900 (한국 표준시)

let date9 = new Date('May 20, 2022 10:30:20');
// -> Fri May 20 2022 10:30:20 GMT+0900 (한국 표준시)

let date10 = new Date(1653091200000);
// -> Sat May 21 2022 09:00:00 GMT+0900 (한국 표준시)

Date 구성요소

let date = new Date();

//연도 : 2022
date.getFullYear();

//월 : 4
date.getMonth();

//일 : 19
date.getDate();

//요일 : 4
date.getDay();

//시 : 19
date.getHours();

//분 : 4
date.getMinutes();

//초 : 10
date.getSeconds();

//밀리초 : 1
date.getMilliseconds();

//UTC를 기준으로 부터의 간격(밀리초 단위)
date.getTime();

//현지 시간과 표준 시간 간격(분) -540
date.getTimezoneOffset();

//UTC도 getTime과 getTimezoneOffset을 제외하고는 동일한 형태의 함수를 가지고 있다.

몇일 전, 몇일 후 날짜 계산하는 방법

var now = new Date();	// 현재 날짜 및 시간
console.log("현재 : ", now);
var yesterday = new Date(now.setDate(now.getDate() - 1));	// 어제
console.log("어제 : ", yesterday);

var now = new Date();	// 현재 날짜 및 시간
console.log("현재 : ", now);
var tomorrow = new Date(now.setDate(now.getDate() + 1));	// 내일
console.log("내일 : ", tomorrow);

몇달 전, 몇달 후 날짜 계산하는 방법

var now = new Date();	// 현재 날짜 및 시간
console.log("현재 : ", now);
var oneMonthAgo = new Date(now.setMonth(now.getMonth() - 1));	// 한달 전
console.log("한달 전 : ", oneMonthAgo);

var now = new Date();	// 현재 날짜 및 시간
console.log("현재 : ", now);
var oneMonthLater = new Date(now.setMonth(now.getMonth() + 1));	// 한달 후
console.log("한달 후 : ", oneMonthLater);

몇년 전, 몇년 후 날짜 계산하는 방법

var now = new Date();	// 현재 날짜 및 시간
console.log("현재 : ", now);
var oneYearAgo = new Date(now.setFullYear(now.getFullYear() - 1));	// 일년 전
console.log("일년 전 : ", oneYearAgo);

var now = new Date();	// 현재 날짜 및 시간
console.log("현재 : ", now);
var oneYearLater = new Date(now.setFullYear(now.getFullYear() + 1));	// 일년 후

타임스탬프(timestamps)

타임스탬프(timestamps)는 특정 시점의 날짜와 시간을 나타내는 숫자 형식입니다. 컴퓨터 시스템에서는 일반적으로 1970년 1월 1일 00:00:00 UTC (Coordinated Universal Time)을 기준으로 경과한 시간을 밀리초 단위로 나타냅니다. 이 기준 시점을 "Epoch" 또는 "Unix epoch"라고 합니다.

// 현재 날짜와 시간을 가져옵니다.
const today = new Date();

// 현재 날짜와 시간을 타임스탬프로 변환합니다.
const timestamp = today.getTime();

// 결과를 출력합니다.
console.log(`현재 날짜와 시간의 타임스탬프: ${timestamp}`);

UNIX 타임스탬프를 날짜와 시간으로 변환하는 방법

// 주어진 타임스탬프 값
const iatTimestamp = 1721110600;
const expTimestamp = 1723702600;

// UNIX 타임스탬프를 Date 객체로 변환
const iatDate = new Date(iatTimestamp * 1000); // JavaScript에서는 밀리초 단위로 변환 필요
const expDate = new Date(expTimestamp * 1000);

// 결과 출력
console.log("토큰 발급 시간 (iat):", iatDate.toISOString());
console.log("토큰 만료 시간 (exp):", expDate.toISOString());

이 코드를 실행하면 iat와 exp 타임스탬프가 변환되어 각각의 날짜와 시간이 출력됩니다. toISOString() 메소드는 날짜와 시간을 ISO 8601 형식의 문자열로 변환합니다.

토큰 발급 시간 (iat): 2024-07-16T06:16:40.000Z
토큰 만료 시간 (exp): 2024-08-15T06:16:40.000Z

.
.
.
.
참고하면 좋은 링크
https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-Date-%EB%A9%94%EC%86%8C%EB%93%9C-%EC%A0%95%EB%A6%AC

참고하면 좋은 링크
https://sweets1327.tistory.com/63

profile
https://github.com/nam-yeun-hwa

0개의 댓글