TIL 24_날짜 관련 유용한 함수 📆

dudgus5766·2021년 9월 12일
0

React

목록 보기
6/8
post-thumbnail
post-custom-banner

자바스크립트에서 현재 날짜 및 시간을 구하기 위해서는 Date 객체를 사용하면 된다. Date 객체를 사용하여 현재의 날짜를 출력하면 YYYY-MM-DD와 같은 형식의 날짜 포맷으로 출력되지 않기 때문에, Date 객체에서 제공하는 추출 함수를 사용하여 날짜 포맷을 변환하는 작업이 추가적으로 필요하다.
날짜를 표현할 수 있는 다양한 함수에 대해 알아보자!

입력한 날짜(yyyyMMdd)가 유효한 날짜인지 검사

function is_valid_date(date_str)
{
    let yyyyMMdd = String(date_str);
    let year = yyyyMMdd.substring(0,4);
    let month = yyyyMMdd.substring(4,6);
    let day = yyyyMMdd.substring(6,8);

    if (!is_number(date_str) || date_str.length!=8)
        return false;

    if (Number(month)>12 || Number(month)<1)
        return false;

    if (Number(last_day(date_str))<day)
        return false;

    return true;
}

yyyy-MM-dd 날짜 문자열을 Date형으로 반환

function to_date2(date_str)
{
    let yyyyMMdd = String(date_str);
    let sYear = yyyyMMdd.substring(0,4);
    let sMonth = yyyyMMdd.substring(5,7);
    let sDate = yyyyMMdd.substring(8,10);

    return new Date(Number(sYear), Number(sMonth)-1, Number(sDate));
}

yyyyMMdd 날짜 문자열을 Date형으로 반환

function to_date(date_str)
{
    let yyyyMMdd = String(date_str);
    let sYear = yyyyMMdd.substring(0,4);
    let sMonth = yyyyMMdd.substring(4,6);
    let sDate = yyyyMMdd.substring(6,8);

    return new Date(Number(sYear), Number(sMonth)-1, Number(sDate));
}

오늘 날짜 중 Month반환. format: MM

function get_today_month()
{
    let today = new Date();
    return (today.getMonth()+1) > 9 ?  (today.getMonth()+1) : "0" + (today.getMonth()+1)
}

💡 실제 적용

실제 왓차피디아 에서는 없는 요소이지만 상세 페이지 포스터 옆 공간에 해당 영화의 개봉날짜를 보여주는 기획을 했다.

class MovieInfo extends Component {
  toDate = year => {
    let sYear = year.substring(0, 4);
    let sMonth = year.substring(5, 7);
    let sDate = year.substring(8, 10);
    //yyyy년 mm월 dd일로 반환
    return `${Number(sYear)}${Number(sMonth) - 1}${Number(sDate)}`;
  };
render(){
 return (
	<span>{release_date && this.toDate(release_date)}</span>
)}

실제 적용 이미지

출처 📚


https://java119.tistory.com/76

profile
RN App Developer
post-custom-banner

0개의 댓글