2011-07-27 4 views
5

나는 LocaleDateString를 얻기 위해 노력하고 그리고 그 toLocaleString 될 것 LocaleTimeString 받기()하지만 LocaleString은 내가 같으면 당신에게 GMT + 0100 (GMT 일광 절약 시간)를 제공합니다 그것을 보여줄 수는 없습니다.지역 날짜 문자열과 시간 문자열

내가 같은 것을 사용할 수 : 당신은 바닐라 방법을 사용하여 문자열을 빌드하는 경우

+0

직접 포맷하는 것이 가장 좋습니다. – RobG

+0

가능한 경우 가능한 이유는 무엇입니까? 감사합니다 – jQuerybeast

+2

오, 그럼 "어떻게하면 자바 스크립트 날짜 형식"더 나은 주제가 될 것입니다. kennebec이 당신의 대답을 가지고 있습니다. :-) – RobG

답변

13

현지 날짜 문자열을 그대로 사용할 수 있습니다. 시간, 분 및 초를 피델레이트로 사용하십시오.

이 예에서는 한 자리 숫자 앞에 0을 붙이고 am/pm의 시간을 조정합니다.

function timenow(){ 
    var now= new Date(), 
    ampm= 'am', 
    h= now.getHours(), 
    m= now.getMinutes(), 
    s= now.getSeconds(); 
    if(h>= 12){ 
     if(h>12) h -= 12; 
     ampm= 'pm'; 
    } 

    if(m<10) m= '0'+m; 
    if(s<10) s= '0'+s; 
    return now.toLocaleDateString()+ ' ' + h + ':' + m + ':' + s + ' ' + ampm; 
} 
alert(timenow()); 
+0

이것은 내가 찾고 있었던 것이다. 고마워요. – jQuerybeast

3

많이

timestamp = (new Date()).toLocaleDateString()+toLocaleTimeString(); 

감사를 자동 로케일 (및 TZ) 변환을 할 것입니다.

예.

var dNow = new Date(); 
var s = dNow.getMonth() + '/' + dNow.getDate() + '/' + dNow.getFullYear() + ' ' + dNow.getHours() + ':' + dNow.getMinutes(); 
+1

고마워요. 나는 영국이나 미국이 사용자에 의존하여 오히려 날짜를 얻고 싶습니다. 그래서 2011 년 6 월 27 일 대신에 그들은 27/6/2011로 사용할 수 있으므로 dNow.toLocaleDateString() + ''+ dNow.getHours() + ':'+ dNow.getMinutes(); ? – jQuerybeast

+0

그럴 경우, 직선적 인 toLocaleString() 호출로 시작하고 결과에 대한 정규식 바꾸기를 수행하여 원하지 않는 구성 요소를 제거하거나 원하는 구성 요소를 분리하십시오. – Tom