반응형

millisecond 형태의 숫자를 Date (yyyymmdd) 형태로 바꾸어서 보여주어야 하는 경우가 있었다. 


new Date(millisecond)와 같이 변환을 하면되는데, 나는 yyyymmdd만 보고 싶은데 어떤 시간대인지까지 모든 정보가 포함되어 표시가 되게 된다.


문자열 자르는게 익숙한 분들은 그렇게 하면되는데, 난 문자열 가지고 이리저리 조잡하게 하는걸 싫어하기 때문에, 알아본 결과 Date에 내장함수처럼 포함을 시켜버리는게 가장 편했던 것 같다.


Date.prototype.yyyymmdd = function() {         
         var yyyy = this.getFullYear().toString();                                    
         var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based         
         var dd  = this.getDate().toString();             
                             
         return yyyy + '-' + (mm[1]?mm:"0"+mm[0]) + '-' + (dd[1]?dd:"0"+dd[0]);
};  


 


이런 형태로 선언해 놓으면, date 타입을 가진 모든 객체에서 위 함수가 이용이 가능하다. 

하지만 이것도 결국 내부적으로는 문자열 자르는 조잡한걸 한다는게 함정. 

 

예전 유지보수 할 때 prototype이 뭔가 했었는데, 이제야 알게 된 것 같다. 

반응형
,