[자바스크립트] 날짜 포맷 함수(Date 포맷 함수)


날짜 포맷 함수(Date 포맷 함수)

Date format javascript

  • moment.js 플러그인을 쓰면 더 많은 기능들이 있습니다.
  • 하지만 아래처럼 직접 공통된 js 파일에 선언하고 날짜 포맷만 사용하셔도 됩니다.
// script
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);};


// 확인하기
console.log(new Date().format("yyyy년 MM월 dd일 a/p hh시 mm분 ss초"));
 
console.log(new Date().format("yyyy-MM-dd"));
 
console.log(new Date().format("'yy MM.dd"));
 
console.log(new Date().format("yyyy-MM-dd E"));
 
console.log("현재년도 : " + new Date().format("yyyy"));