2014-01-27 4 views
1

아래의 형식으로 제공되는 시간별 데이터가 있는데, 자바 스크립트 날짜 객체를 구문 분석하고 MongoDB에 저장해야합니다.몽구스로 자바 스크립트 날짜 객체를 파싱하고 저장하십시오.

var DateObjectSchema = new Schema({ 
    created: { 
     type: Date, 
     default: Date.now 
    }, 
    date: { 
     type: Date, 
     required: true, 
     unique: true 
    } 
}); 

여기에 시간당 날짜 데이터로 오는 형식입니다 :

여기
String "01/26/2014 16" 

내가 무엇을 시도했다, 그러나 날짜 여기

날짜 객체를 지정, 내 모델의 이 (가) 잘못 저장되었습니다.

var dateobject = new DateObject({ 
    date: new Date("01/26/2014 16" + ":00:00") 
}); 
dateobject.save(); 

예를 들어 "01/26/2014 24"가 데이터베이스에 저장 중입니다. 로 :

date: "1970-01-01T00:00:00.000Z" 

그리고이 "2014년 1월 26일 14"와 같은 데이터베이스에 저장된 : 그것은 시간대 문제가 있다면

date: "2014-01-26T22:00:00.000Z" 

, 내가 설정하는 모든 시간을 원하는 점에 유의하시기 바랍니다 in GMT - 7:00

감사합니다.

+0

시간대를 사용하여 날짜를 조작해야하는 경우 'Date'개체를 만드는 것이 아니라 [Moment.js] (http://momentjs.com/) 및 Moment Timezone을 살펴 보는 것이 좋습니다. Moment 인터페이스는 더 높은 수준이고 더 개발자 친화적입니다 ;-). – Stennie

답변

0

날짜 문자열을 날짜 개체로 구문 분석해야합니다. 지정된 패턴에서 수행하는 한 가지 방법은 다음과 같습니다.

var yourInputString = "01/26/2014 16"; 
var dateHr=yourInputString.split(/\s/); //Gives you the date and hr fields 
var date=dateHr[0].split(/\//); //Process the date field by splitting on/
var parsedDate = new Date(date[2],date[0]-1,date[1],dateHr[1]); 

이제는 필요에 따라 parsedDate를 사용할 수 있어야합니다.

PS : date[0]-1 월 필드는 월 기준으로 0부터 시작합니다.