2014-02-16 6 views
0

"DD-MM-YYYY"(내 텍스트 필드)에 인쇄 할 날짜를 선택할 때 날짜 선택 도구를 사용하고 있습니다. 숫자가 10보다 작 으면 날짜 선택 도구에서 선택한 후 텍스트 필드에 1 또는 9가 아닌 01 또는 09가 표시됩니다. 그것은 월과 일 모두를 위해 일어나고 있습니다.날짜 형식을 변경하는 방법은 무엇입니까?

이 코드를 사용하여 날짜를 설정하고 있습니다. 이 같은

var re_date = /^(\d+)\-(\d+)\-(\d+)\s$/; 
if (!re_date.exec(str_datetime)) 

    return alert("Invalid Datetime format: "+ str_datetime); 

return (new Date (RegExp.$3, RegExp.$2-1, RegExp.$1, RegExp.$4, RegExp.$5, RegExp.$6)); 
+0

합니다. getMonth()'등등. 다음으로, 당신은 어떤 순서로든 원하는 모든 휘 저음에 그 부분들을 결합 할 수 있습니다. Javascript에는'.format()'메소드 (또는 비슷하게)가 없다. 'Date'에서 사용할 수있는 모든 메소드 목록은 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date –

답변

1

뭔가 : Btw는

function d(str_datetime) { 
     var re_date = /^(\d+)\-(\d+)\-(\d+)\s$/; 
     if (!re_date.exec(str_datetime)) 

     return alert("Invalid Datetime format: "+ str_datetime); 

     return (new Date (RegExp.$3, RegExp.$2-1, RegExp.$1)); 
    } 

    var b = d('01-01-2014 '); 
    b.getDate() +'-'+ (b.getMonth()+1)+'-'+b.getFullYear(); 
    // Outputs : "1-1-2014" 

. 정규식이 분/초를 캡처하지 않기 때문에 여기에 표시된대로 RegExp. $ 4>를 삭제할 수 있습니다. 당신이 패딩 0이 필요한 경우이 도우미 기능을 사용할 수 있습니다

function pad(n){return n<10 ? '0'+n : n} 

을 그리고 결과에 변경 : 당신은`.getDay()`,`사용하여 날짜의 일부를 추출 할 수 있습니다

pad(b.getDate()) +'-'+ pad((b.getMonth()+1))+'-'+b.getFullYear(); 
+0

01-01-2014.after로 출력하고 싶습니다. 날짜 선택에서 선택합니다.하지만 1-1-2014를 얻고 있습니다 – user3300851

+0

포맷에서 패딩이 0이되도록 도우미 기능을 추가했습니다. –

관련 문제