티스토리 뷰

아이패드와 몇몇 아이폰 기종에서 Date가 안나오고 NaN이라고 뜨는 이슈가 들어왔다.

자바스크립트에서 흔히 사용하는 Date 객체에 String 타입의 날짜를 담아 사용할 때,

ex : new Date('2021-08-08');

사파리에서는 Invalid Date error를 내뱉는다. 

해당 이슈를 해결하기 위해 moment.js 날짜 라이브러리를 사용했다.

moment.js를 사용하면 모든 기종 및 사파리에서도 사용 가능하다.

date 객체를 생성할 때

new Date(); 를 사용한다면

moment.js 에서는 moment();, moment(new Date());

를 사용하여 현재 날짜를 가져올 수 있다

 

 

 

[ 날짜 format ]

var date = '2021-08-22 03:11:22'; // 특정 시간으로 설정

moment(date).format("YYYY-MM-DD HH:mm:ss"); // 2021-08-22 03:11:22

moment(date).format("YYYY"); // 2021

moment(date).format("MM"); // 08

[ 날짜 더하기, 빼기]

var moveDate = 7;

moment(new Date(), 'YYYY-MM-DD HH:mm:ss').add(moveDate, 'days').toDate();

// 현재 날짜에서 +7일

moment(new Date(), 'YYYY-MM-DD HH:mm:ss').subtract(moveDate, 'days').toDate();

//현재 날짜에서 -7일

* moveDate가 음수일 경우 add를 사용해도 상관없다.

Date 객체에서는 8월이면 08로 넘어오지 않아서 앞에 자릿수 맞추느라 0을 붙혀줬었는데 moment에서는 따로 안 붙혀줘도 된다.

 

나머지 자세한 사항은 document에서..

 

https://momentjs.com/docs/#/query/

 

Moment.js | Docs

moment.relativeTimeThreshold(unit); // getter moment.relativeTimeThreshold(unit, limit); // setter duration.humanize has thresholds which define when a unit is considered a minute, an hour and so on. For example, by default more than 45 seconds is consider

momentjs.com

 

댓글
링크
최근에 올라온 글
Total
Today
Yesterday