Note/그밖에

자바스크립트 Date format

Delia :D 2013. 3. 6. 17:10

자바스크립트에서 포맷을 맞춰 날짜를 가져오기란 참 귀찮은 일이다.

그래서 이렇게 쓴다. 어디서 퍼왔는지 기억나지 않아 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

아래와 같이 선언해 놓고 (자바스크립트 가장 상단에 넣는게 좋겠지..), 그냥 불러다 쓰면된다.

Date.prototype.format = function(f) {

    if (!this.valueOf()) return " ";


    var weekName = ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"];

    var d = this;


    return f.replace(/(yyyy|yy|MM|dd|E|hh|mm|ss|a\/p)/gi, function($1) {

        switch ($1) {

            case "yyyy": return d.getFullYear();

            case "yy": return (d.getFullYear() % 1000).zf(2);

            case "MM": return (d.getMonth() + 1).zf(2);

            case "dd": return d.getDate().zf(2);

            case "E": return weekName[d.getDay()];

            case "HH": return d.getHours().zf(2);

            case "hh": return ((h = d.getHours() % 12) ? h : 12).zf(2);

            case "mm": return d.getMinutes().zf(2);

            case "ss": return d.getSeconds().zf(2);

            case "a/p": return d.getHours() < 12 ? "오전" : "오후";

            default: return $1;

        }

    });

};


String.prototype.string = function(len){var s = '', i = 0; while (i++ < len) { s += this; } return s;};

String.prototype.zf = function(len){return "0".string(len - this.length) + this;};

Number.prototype.zf = function(len){return this.toString().zf(len);};

사용법

var today = new Date().format("yyyy-MM-dd");


별도의 함수를 만드는게 아니다.

짱편함~ Node에서도 똑같다. ㅋ조아조아


'Note > 그밖에' 카테고리의 다른 글

이메일 유효성 검사  (0) 2013.03.06
input file 초기화 시키기  (2) 2013.03.06
무료 이미지 편집 툴 GIMP  (0) 2013.03.06
OLPT 와 OLAP  (0) 2013.03.04
자바스크립트 물결 연산자(~)  (0) 2013.02.26