2014-11-09 6 views
7

내가 좋아하는 형식으로 포스트 그레스에서 일부 날짜 fileds를 받고 편집 가능한 날짜에 적합한 날짜 형식을 설정합니다 페이지의 편집 가능한 날짜 입력란에 사용하지 마세요. 다음과 같음 :어떻게

<a href="#" editable-date="employee.brthday" 
    onbeforesave="updateField($data, 'brthday', employee)"> 
     {{employee.brthday || 'empty' | date:"dd/MM/yyyy" }} 
</a> 

위와 같은 날짜가 정상적으로 표시됩니다. 하지만이 필드를 편집 할 때, 날짜를 재설정하고 나는 콘솔에서이 메시지를 가지고 : 난 그냥 필드 (입력 새로운 날짜), 그것은 미래의 편집 괜찮을 수를 편집하여 모델을 업데이트하는 경우 때문에,

Error: [ngModel:datefmt] Expected `2000-12-05T14:00:00.000Z` to be a date http://errors.angularjs.org/1.3.0/ngModel/datefmt?p0=2000-12-05T14%3A00%3A00.000Z 
    at http://localhost:8000/bower_components/angular/angular.js:80:12 
    at Array.<anonymous> (http://localhost:8000/bower_components/angular/angular.js:19453:17) 
    at Object.ngModelWatch (http://localhost:8000/bower_components/angular/angular.js:20555:36) 
    at Scope.$digest (http://localhost:8000/bower_components/angular/angular.js:13957:40) 
    at Scope.$apply (http://localhost:8000/bower_components/angular/angular.js:14227:24) 
    at HTMLAnchorElement.<anonymous> (http://localhost:8000/bower_components/angular-xeditable/dist/js/xeditable.js:831:21) 
    at HTMLAnchorElement.jQuery.event.dispatch (http://localhost:8000/bower_components/jquery/dist/jquery.js:4409:9) 
    at HTMLAnchorElement.elemData.handle (http://localhost:8000/bower_components/jquery/dist/jquery.js:4095:28) 

을 날짜와 같은 저장 (날짜 OBJ?) :

수요일 2000년 12월 6일 0시 0 분 0 초 GMT + 1000 (Якутское время (зима)) 내가 이해하기에, 내 입력 날짜를 변환 할 수있는 방법

각도 형식?
입력 날짜 형식을 'new Date (input-date-here)'로 바꾸려고했지만 작동하지 않습니다. 입력 된 날짜 형식은 문자열에서 파싱 할 수 없습니까?

요약 : 입력 날짜 형식을 Date obj로 변환해야하거나 Date 개체와 같은 pg.js 날짜 필드를 통해 가져와야합니다. 어떻게해야합니까?

답변

4

포스트 그레스는 자바 스크립트 Date 예를 들어, 상자 밖으로 구문 분석 할 수 있습니다 ISO 8601 형식의 날짜를 저장한다 : 내 시간대에 대한 올바른 Thu Nov 30 2000 06:00:00 GMT-0800 (PST)에서

var x = new Date("2000-11-30T14:00:00.000Z"); 
console.log(x); 

결과.

2

나는 나를 위해 해답을 찾았습니다 ... 날짜 입력을 서버 측에서 obj로 변환하려고 시도했고 클라이언트보다 json을 보냈습니다. 클라이언트에서 나는 항상 문자열로 날짜를 가졌지 만 Date 객체는 아닙니다. 클라이언트에서 새 날짜 (inputDate)를 수행하면 모든 것이 정상입니다.