자바스크립트 날짜객체(Date) 생성 및 날짜 계산

By | 3월 15, 2010

- 출처 : http://cafe.naver.com/tonkjsp/226 -
- 출처 : http://dongsilove.tistory.com/101 -

* Date 객체 생성

var dtNow1 = new Date(); // 시스템 오늘 날짜
var dtNow2 = new Date(5999000920); // 밀리초 값으로 날짜를 객체 생성
var dtNow3 = new Date("March 12, 1980 12:20:25"); // 문자열 값으로 날짜를 객체를 생성
var dtNow4 = new Date(1977,10-1,28)  // 직접 년, 월, 일 값을 입력하여 날짜 객체 생성
var dtNow5 = new Date(Number("1977"),Number("10")-1,Number("28"))  // 위 방법을 문자열로
var dtNow6 = new Date(1977,10-1,28,19,30,20,20); // 직접 년, 월, 일 , 시간 , 분, 초 모두 입력하여 날짜 객체 생성

* Date 객체로 날짜 문자열 만들기

var year = dtNow1.getFullYear();      //년
var month = dtNow1.getMonth();     //월
var date = dtNow1.getDate();          //일
//[월]과 [일]이 한자릿수일 경우 한자리만 출력하므로 "0"을 보충하는 로직이 필요

* 날짜의 차 계산

var resultDt = Math.floor( endDt.valueOf()/(24*60*60*1000) -  startDt.valueOf()/(24*60*60*1000) );

 
* 근속 년월수 계산 예제

 //근속월수 계산
 function calculateWorkMonth(joinDayStr){
  
  //var joinDayStr = "2007-06-22";   //테스트용
  var joinDayDate = new Date(joinDayStr.substring(0, 4), joinDayStr.substring(5, 7)-1, joinDayStr.substring(8, 10));
  var nowDate = new Date();
  
  var years = nowDate.getFullYear() - joinDayDate.getFullYear();
  var months = nowDate.getMonth() - joinDayDate.getMonth();
  var days = nowDate.getDate() - joinDayDate.getDate();

  var differentMonth = years * 12 + months + (days >= 0 ? 0 : -1);

  var result = null;   //결과 문자열
  if(differentMonth >= 12){

   var quotient = Math.floor(differentMonth / 12); 
   var rest = Math.floor(differentMonth % 12);
   result = quotient + "년 "
   if(rest != 0){
    result +=  rest + "개월";
   }
 
  }else{
   result = differentMonth + "개월";
  }  
  
  return result;
 }

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments