Date의 처리가 까다로운 관계로 개선을 위해서 opensource library인 sugar.js 를 활용 하였다.


※ 공식 사이트: http://sugarjs.com/



공식 사이트 일부 화면이다. Download 한다. 아래와 같이 js 파일을 추가 해 준다.



<script type="text/javascript" src="/javascripts/sugar/sugar-1.3.9.min.js"></script>



Date와 String의 간단한 변환을 위해서 작성 하였다.


추가 소스

whitelife.js



// whitelife.js
// sugar.js is used

Date.prototype.toShortString = function() {
    return this.format('{yyyy}-{MM}-{dd}');
}

Date.prototype.toLongString = function() {
    return this.format('{yyyy}-{MM}-{dd} {hh}:{mm}:{ss}');
}

Date.prototype.beforeDate = function(regex) {
    return this.rewind(regex);
}

Date.prototype.afterDate = function(regex) {
    return this.advance(regex);
}

String.prototype.toDate = function() {
    return Date.create(this);
}

String.prototype.isBeforeDate = function(endDate) {
    return this.toDate().isBefore(endDate.toDate());
}

String.prototype.isAfterDate = function(endDate) {
    return this.toDate().isAfter(endDate.toDate());
}



사용 예제

sugar.js 의 Date 라이브러리 와 추가된 함수들의 조합 이다.



var startDate = Date.create('today').beforeDate('5 day').toShortString();

var endDate = Date.create('today').afterDate('5 day').toShortString();
           
console.log(Date.create('today').toShortString());
console.log(Date.create('today').toLongString());
console.log(Date.create('today').beforeDate('5 day').toLongString());
console.log(Date.create('today').afterDate('5 day').toLongString());
           
console.log(startDate.isBeforeDate(endDate)); // 시작 날짜가 마지막 날짜 보다 [이전: true, 이후: false]
console.log(startDate.isAfterDate(endDate)); // 시작 날짜가 마지막 날짜 보다 [이전: false, 이후: true]
           
console.log(startDate.toDate());
console.log(endDate.toDate());



결과



2013-02-18

2013-02-18 12:00:00

2013-02-13 12:00:00

2013-02-23 12:00:00

true

false

Date {Wed Feb 13 2013 00:00:00 GMT+0900 (KST)}

Date {Wed Feb 23 2013 00:00:00 GMT+0900 (KST)}



조금 더 수월하게 작업을 할 수 있다.


+ Recent posts