2013-10-01 2 views
2

나는 내일 날짜를 얻는 방법이 있습니다.javascript datetime 한 자리 숫자 값에 0을 더함

var tomorrow = date.getDate() + "/" + month + "/" + date.getFullYear(); 

이 반환 내가이 원하는대로 2013년 2월 10일2013년 2월 10일이이 날짜 비교를 할 필요가있다

(한 자리의 제로 포함) .

if(02/10/2013==2/10/2013){ 
dosomething(); 
} 

위의 문제로 인해 위의 사항이 작동하지 않습니다. 당신이 phpjs.org이에서 str_pad를 사용하지 않는 이유

+2

당신은 숫자 나 날짜 값에 문자를 concatinate 경우, 결과는 문자열로 변경됩니다. 구문이 잘못되었지만 비교가 실패합니다. – reporter

+0

@reporter 당신은 더 구체적 일 수 있습니까? 할 수있는 일입니까 아니면 안할까요? – dev1234

+1

나는 달에도'0'을 추가하려고한다고 가정합니다. – Andy

답변

3

당신은

var tomorrow = ('0' + date.getDate()).slice(-2) + "/" + ('0' + (date.getMonth()+1)).slice(-2) + "/" + date.getFullYear(); 
+0

@Swaapnil 그것은 항상 앞에 0이 없습니까? 02/10/2013 && 021/10/2013 – dev1234

+1

@mazraara NO dude,이 경우 슬라이스는 "021"의 경우 마지막 두 문자 "21"을 제공합니다. –

+0

월에 맨 앞에 0을 추가 할 예정입니까? 나는 달이 10보다 작 으면 앞에 0을 추가해야 함을 의미합니다. – dev1234

1
$.datepicker.formatDate('dd/mm/yy', tomorrow); 

에 의해 할 수있는 또한 시간/날짜 조작

+0

그러면 자릿수가 2 자리 인 경우를 방지 할 수 있습니까? 나는 그것의 한 자릿수 인 경우에만 0을 추가하는 것을 의미합니까? – dev1234

+0

이것이 발생합니까? 021/10/2013 – dev1234

+1

정확히 jquery datepicker 위젯을 사용하고 싶습니다. –

1

에 대한 moment.js 라이브러리를 사용할 수있는 코드입니다 :

function str_pad (input, pad_length, pad_string, pad_type) { 
    // http://kevin.vanzonneveld.net 
    // + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) 
    // + namespaced by: Michael White (http://getsprink.com) 
    // +  input by: Marco van Oort 
    // + bugfixed by: Brett Zamir (http://brett-zamir.me) 
    // *  example 1: str_pad('Kevin van Zonneveld', 30, '-=', 'STR_PAD_LEFT'); 
    // *  returns 1: '-=-=-=-=-=-Kevin van Zonneveld' 
    // *  example 2: str_pad('Kevin van Zonneveld', 30, '-', 'STR_PAD_BOTH'); 
    // *  returns 2: '------Kevin van Zonneveld-----' 
    var half = '', 
    pad_to_go; 

    var str_pad_repeater = function (s, len) { 
    var collect = '', 
     i; 

    while (collect.length < len) { 
     collect += s; 
    } 
    collect = collect.substr(0, len); 

    return collect; 
    }; 

    input += ''; 
    pad_string = pad_string !== undefined ? pad_string : ' '; 

    if (pad_type !== 'STR_PAD_LEFT' && pad_type !== 'STR_PAD_RIGHT' && pad_type !== 'STR_PAD_BOTH') { 
    pad_type = 'STR_PAD_RIGHT'; 
    } 
    if ((pad_to_go = pad_length - input.length) > 0) { 
    if (pad_type === 'STR_PAD_LEFT') { 
     input = str_pad_repeater(pad_string, pad_to_go) + input; 
    } else if (pad_type === 'STR_PAD_RIGHT') { 
     input = input + str_pad_repeater(pad_string, pad_to_go); 
    } else if (pad_type === 'STR_PAD_BOTH') { 
     half = str_pad_repeater(pad_string, Math.ceil(pad_to_go/2)); 
     input = half + input + half; 
     input = input.substr(0, pad_length); 
    } 
    } 

    return input; 
} 

다음 코드에 적용 :

var tomorrow = str_pad(date.getDate(),2,0,'STR_PAD_LEFT') + "/" + str_pad(month,2,0,'STR_PAD_LEFT') + "/" + date.getFullYear(); 
1

이 시도 :

if(new Date(2013,2,10).toString() == new Date(2013,02,10).toString()){ 
    dosomething(); 
} 
관련 문제