Dev/React Native

ReactNative: 5/2 공부일지 - Date()

두넌 2023. 5. 2.

React Native에서 Date()는 JavaScript에서 기본적으로 제공되는 Date 객체를 사용하여 날짜와 시간에 관련된 작업을 수행하는 데 사용됩니다. Date 객체는 현재 날짜와 시간을 반환하는 메서드와 특정 날짜와 시간을 나타내는 데 사용되는 다양한 속성을 제공합니다.

React Native에서 Date()를 사용할 때, 일반적으로 다음과 같은 작업을 수행합니다.



1. Date 객체 생성

const currentDate = new Date();


2. 특정 날짜와 시간을 사용하여 Date 객체 생성

const someDate = new Date('May 2, 2023 10:30:00');


3. 날짜와 시간의 특정 부분 추출

const year = currentDate.getFullYear(); // 현재 연도
const month = currentDate.getMonth(); // 현재 월 (0부터 시작)
const date = currentDate.getDate(); // 현재 일
const day = currentDate.getDay(); // 현재 요일 (0은 일요일)
const hours = currentDate.getHours(); // 현재 시간 (0-23)
const minutes = currentDate.getMinutes(); // 현재 분 (0-59)
const seconds = currentDate.getSeconds(); // 현재 초 (0-59)


4. 다른 날짜와 시간과의 비교

const date1 = new Date('May 2, 2023 10:30:00');
const date2 = new Date('May 3, 2023 11:00:00');
const isAfter = date1 < date2; // true
const isBefore = date1 > date2; // false


5. Date 객체를 문자열로 변환

const dateString = currentDate.toDateString(); // 'Mon May 02 2023'
const isoString = currentDate.toISOString(); // '2023-05-02T05:00:00.000Z'
const timeString = currentDate.toTimeString(); // '10:30:00 GMT-0500 (Central Daylight Time)'


이와 같이 React Native에서 Date()를 사용하여 날짜와 시간을 처리할 수 있습니다. 다양한 메서드와 속성을 사용하여 원하는 작업을 수행할 수 있습니다.

 


공부 중 추가할 점

const date = new Date();
const dateStr = date.getFullYear() + (date.getMonth()+1) + date.getDate();
console.log(dateStr);

프로젝트를 진행하던 중, 20230501 과 같은 포맷을 가진 문자열을 반환하고자 해서 이처럼 될 줄 알았는데 오류가 발생하였다. 알아보니

 

Date() 생성자 함수는 현재 시간을 나타내는 문자열을 반환합니다. getFullYear(), getMonth(), getDate() 등의 메서드는 Date() 생성자 함수가 반환한 객체의 메서드로, 각각 년, 월, 일을 반환합니다.

그러나 위 코드에서 Date() 생성자 함수가 반환하는 문자열은 년, 월, 일을 모두 포함하지 않습니다. 따라서 dateStr 변수에는 "NaN"이라는 문자열이 할당되고, console.log(dateStr)에서는 "NaN"이 출력됩니다.

 

const date = new Date();
const year = date.getFullYear();
const month = date.getMonth() + 1;
const day = date.getDate();
const dateStr = `${year}${month}${day}`;
console.log(dateStr);

올바른 코드는 다음과 같고, 각각 저장하고 연결해야 문자열이 생성되고 정상적인 출력 결과를 얻을 수 있다고 한다.

댓글