7

次のような形式のpostgresからいくつかの日付ファイルを取得します。

"2000-11-30T14:00:00.000Z"

ページの編集可能な日付フィールドでこれを使用できません。何かのようなもの:

 <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)

フィールドを編集してモデルを更新するだけの場合 (新しい日付を入力)、日付は (Date obj?) のように保存されるため、将来的にはうまく編集できる可能性があります。

Wed Dec 06 2000 00:00:00 GMT+1000 (Якутское время (зима))

入力日付を角度形式で理解できるように変換するにはどうすればよいですか?
また、入力日付形式を「new Date(input-date-here)」に置き換えようとしましたが、うまくいきません。入力日付形式は文字列だけでは解析できないのでしょうか?

要約: 入力日付形式を Date obj に変換するか、Date オブジェクトのような pg.js 日付フィールドを介して取得する必要があります。そこから何かをするにはどうすればいいですか?

4

2 に答える 2

4

Postgres は日付を ISO 8601 形式で保存しています。これは JavascriptDateがすぐに解析できます。次に例を示します。

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

Thu Nov 30 2000 06:00:00 GMT-0800 (PST)私のタイムゾーンに正しい結果が得られます。

于 2014-11-09T06:17:33.647 に答える