2012-04-03 5 views
0

나는이 한 - Tue, 03 Apr 2012 05:00:33 GMT간단한 자바 스크립트 날짜 변환

이 필요 - 20120323111106

구글은 나를 실패

, 난 그냥 메신저 그래서 나는 여기 간단하게 유지 검색 정확히 모르는 생각 문제.

편집 : 날짜가 분명히 일치하지 않으며 단지 그 형식으로 표시하려고합니다.

+0

관련 항목 : http://stackoverflow.com/questions/2573581/javascript-string-to-date-conversion-simple –

+0

날짜 관련 작업을위한이 새로운 js 라이브러리가 있습니다. [XDate] (http : // arshaw .com/xdate /) –

+2

"화요일, 03 4 월 2012 05:00:33 GMT"및 "20120323111106"은 같은 날짜가 아닙니다. 그 형식으로 만 필요합니까, 아니면 나중에 입력 날짜가 주어진 실제 생성 된 문자열이 될까요 –

답변

0

문자열을 구문 분석하는 함수를 작성하면 효과가 있습니다. 그 모습으로 현재 가지고있는 날짜 문자열은 모두 같은 길이가됩니다. 이 경우 비교적 쉽습니다. 인수를 인수로 전달하기 전에 문자열이이 형식인지 확인하십시오.

function parse(string) { 
    var out = "yyyymmddhhmmss" 
    out.charAt(0) = string.charAt(13); 
    out.charAt(1) = string.charAt(14); 
    out.charAt(2) = string.charAt(15); 
    out.charAt(3) = string.charAt(16); 

    //if else statements for each month converting to numbers 
    if (string.substring(9,12).equals("Apr")) { 
     out.charAt(4) = '0'; 
     out.charAt(5) = '4'; 
    } 

    out.charAt(6) = string.charAt(18); 
    out.charAt(7) = string.charAt(19); 

    ...etc for the remaining values 

    return out 
} 

문자 색인의 내 번호는 꺼져있을 수 있지만이 아이디어를 사용하면 직선으로 설정해야합니다. 함수를 정의하고 원하는 형식으로 날짜를 전달하면 원하는 형식으로 날짜가 표시됩니다. (나중에 편집)

1

좋은 답 :

나는 이것이 당신이 찾고있는 무엇을 생각 :

function addZero(val){ 
    if (parseInt(val) < 10) return "0" + val; 
    return val; 
} 

var dt = new Date("Tue, 03 Apr 2012 05:00:33 GMT"); 
console.log(dt.getFullYear() + addZero(dt.getMonth()) + addZero(dt.getDay()) + addZero(dt.getHours()) + addZero(dt.getMinutes()) + addZero(dt.getSeconds())) 

초기 오답 :

var dt = new Date("Tue, 03 Apr 2012 05:00:33 GMT") 
var miliseconds = dt.getTime(); 

내가하고 테스트 한 내 컴퓨터가 GMT +3 (내 시간대)로 자동 변환되면 시간대에 따라 재생할 수 있습니다.

+0

고마워요,하지만 그렇지 않습니다. 찾고있는 출력물을 제공하십시오. 이것은 단지 밀리 세컨드로 날짜를 알려줍니다. – user1309548

+1

오, 긴 문자열이 밀리 초 날짜 형식이라는 인상을 받고있었습니다. 죄송합니다! – gabitzish

+0

나는 쉽게 바랄 것이다. – user1309548