2016-10-16 2 views
0

현재, "201610161000"(2016-10-16 10:00) 동안 이와 같은 문자열을 반환하는 JSON을 구문 분석하고 있습니다. 나는 이것을 "순간 ("201610161000 ","YYYYMMDDHHmm ')과 같이 구문 분석하기 위해 Momentjs를 사용했습니다. "문제는 큰 데이터로 파싱 할 때 너무 많은 시간이 걸린다는 것입니다. 제거하면 10ms 밖에 걸리지 않습니다. 그렇지 않으면 Momentjs에서 1000ms가 걸립니다. 순간을 사용하지 않고 위의 문자열을 시간 변환 할 수있는 방법이 있습니까? JSON에서 시간 형식을 변경할 수있는 권한이 없습니다.문자열을 시간으로 변환하는 방법은 무엇입니까?

var inner = _.map(num.series, function(n, k) { 
      return { 
      x: moment(n.bucket, 'YYYYMMDDHHmm'), 
      y: n, 
      }; 
     }); 

답변

2

이것은 자바 스크립트에서 연결 및 분할 방법을 사용하여 수행 할 수 있습니다. 다음 접근 방식을 시도해보십시오.

var jsonTime = "201610161000".split(""); 
var parsedDate = jsonTime.slice(0, 4).join("") + "-" + jsonTime.slice(4, 6).join("")+ "-" + jsonTime.slice(6, 8).join("")+ "-" + jsonTime.slice(8, 10).join("")+ ":" + jsonTime.slice(10, 12).join(""); 
//output : 2016-10-16-10:00 
+0

감사합니다. 대신 구문 분석 시간을 100-160ms로 줄이는 대신 하위 문자열을 사용하기로 결정했습니다. 더 나은 접근법이 있는지 궁금합니다. –

+0

예, 그 또한 순간보다 좋은 옵션입니다. 내장 된 메소드를 사용하여 추가 라이브러리를로드해야하는 이유는 무엇입니까? :) – WLatif

관련 문제