반응형

프로토타입을 활용하여 자바스크립트 내부함수인 Date 함수의 값을 원하는 방식으로 커스텀 하는 방법을 작성해보겠습니다.

 

<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>  
<body>
  <div></div>
<script type="text/javascript" charset="utf-8">
  Date.prototype.myCalendar = function() {
      if (this.getMonth() == 0)       {this.myMonth = "1월"}
      else if (this.getMonth() == 1)  {this.myMonth = "2월"}
      else if (this.getMonth() == 2)  {this.myMonth = "3월"}
      else if (this.getMonth() == 3)  {this.myMonth = "4월"}
      else if (this.getMonth() == 4)  {this.myMonth = "5월"}
      else if (this.getMonth() == 5)  {this.myMonth = "6월"}
      else if (this.getMonth() == 6)  {this.myMonth = "7월"}
      else if (this.getMonth() == 7)  {this.myMonth = "8월"}
      else if (this.getMonth() == 8)  {this.myMonth = "9월"}
      else if (this.getMonth() == 9)  {this.myMonth = "10월"}
      else if (this.getMonth() == 10) {this.myMonth = "11월"}
      else if (this.getMonth() == 11) {this.myMonth = "12월"}
      else {this.myMonth = "Error"};
  };

  var d = new Date();
  d.myCalendar();
  var month_Name = d.myMonth;
  alert(month_Name);
</script>
</body>
</html>

 

alert의 경고문구는 해당 월로 표현되는것을 볼 수 있을겁니다.

다음은 년 월 일을 출력해보겠습니다.

<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>  
<body>
  <div id="today"></div>

<script type="text/javascript" charset="utf-8">
  Date.prototype.myCalendar = function() {
   switch(this.getMonth()){
	case 0: this.myMonth = "1월"; break;
	case 1: this.myMonth = "2월"; break;
	case 2: this.myMonth = "3월"; break;
	case 3: this.myMonth = "4월"; break;
	case 4: this.myMonth = "5월"; break;
	case 5: this.myMonth = "6월"; break;
	case 6: this.myMonth = "7월"; break;
	case 7: this.myMonth = "8월"; break;
	case 8: this.myMonth = "9월"; break;
	case 9: this.myMonth = "10월"; break;
	case 10: this.myMonth = "11월"; break;
	case 11: this.myMonth = "12월"; break;
   }
      
   switch(this.getDay()){
	case 0: this.myWeek = "일"; break;
	case 1: this.myWeek = "월"; break;
	case 2: this.myWeek = "화"; break;
	case 3: this.myWeek = "수"; break;
	case 4: this.myWeek = "목"; break;
	case 5: this.myWeek = "금"; break;
	case 6: this.myWeek = "토"; break;
   }
  };

  var d = new Date();
  d.myCalendar();
  var year = d.getFullYear() + "년";
  var month = d.myMonth;
  var week = d.myWeek;
  var day = d.getDate() + "일";

  document.getElementById("today").innerHTML = "오늘의 날짜는 : " 
  + year + month + day + "(" + week + ")";
</script>
</body>
</html>

 

이렇게 Date함수를 활용하여 현재 날짜를 출력 할 수 있으며,

prototype부분에서 영문으로 변경하여 구현 가능하며 원하는 방식으로 사용 할 수 있다.

반응형