javascript 날짜 계산

script 2009/01/12 21:01
몇일부터 몇일까지의 날짜를 계산하기 위한 스크립트

-적용예
~

-소스
<script type="text/javascript">
var dateUtil = function() {
    this.startObject = null;
    this.endObject = null;
    this.args = null;
}

dateUtil.prototype.formatLen = function(str) {
    return str = (""+str).length<2 ? "0"+str : str;
}

dateUtil.prototype.formatDate = function(dateObject, delimiter) {
    delimiter = delimiter || "-";
    return dateObject.getFullYear() + delimiter + this.formatLen(dateObject.getMonth() + 1) + delimiter + this.formatLen(dateObject.getDate());
}

dateUtil.prototype.toDay = function(delimiter) {
    return this.formatDate(new Date(), "-");
}

dateUtil.prototype.calDate = function() {
    var year = this.args.year == null ? 0 : Number(this.args.year);
    var month = this.args.month == null ? 0 : Number(this.args.month);
    var day = this.args.day == null ? 0 : Number(this.args.day);
    var result = new Date();

    result.setYear(result.getFullYear() + year);
    result.setMonth(result.getMonth() + month);
    result.setDate(result.getDate() + day);
    return this.formatDate(result, "-");
}

dateUtil.prototype.setDate = function(startObject, endObject, args) {
    this.startObject = startObject;
    this.endObject = endObject;
    this.args = args;

    document.getElementById(this.startObject).value = this.calDate()
    document.getElementById(this.endObject).value = this.toDay();
}

var dateUtilObj = new dateUtil();
</script>


-사용
<input type="text" id="startDate" name="startDate" />~
<input type="text" id="endDate" name="endDate" />
<input type="button" value="오늘" onclick="dateUtilObj.setDate('startDate', 'endDate', {})" />
<input type="button" value="7일" onclick="dateUtilObj.setDate('startDate', 'endDate', {day: -7})" />
<input type="button" value="1달" onclick="dateUtilObj.setDate('startDate', 'endDate', {month: -1})" />
<input type="button" value="1년" onclick="dateUtilObj.setDate('startDate', 'endDate', {year: -1})" />

저작자 표시

'script' 카테고리의 다른 글

[Link] execCommand compatibility(호환성)  (0) 2009/05/20
[Link] Cross Site Scripting Cheat Sheet  (0) 2009/04/29
[Link] jQuery Ajax Experience Framework Videos  (0) 2009/02/20
javascript getYear() 보다는 getFullYear()  (0) 2009/01/15
[Link] Ajax를 마스터 하자 !  (0) 2009/01/14
javascript 날짜 계산  (0) 2009/01/12
escapeUrl  (0) 2008/12/07
IE7 overflow:hidden bug(?)  (2) 2008/11/21
xhtml dtd  (0) 2008/10/04
offsetTop / offsetLeft  (0) 2008/10/01
[Link] 고급 JavaScript 작성하기  (0) 2008/09/25
Trackback 0 : Comment 0
◀ PREV : [1] : ... [83] : [84] : [85] : [86] : [87] : [88] : [89] : [90] : [91] : ... [154] : NEXT ▶
오픈웹을 지지합니다