0

models.DateTimeField()djangoモデルにフィールドがあります。

このモデルを表示するためにバックボーンを使用しています。日付をきれいに印刷できるようにしたいと思います。

次のことを試しましたが、日付が無効と表示されます。

App.House = Backbone.Model.extend({
    url: function() {
        return API_URL + this.id;
    },
    initialize: function() {
        // displays Invalid Date when printed in template
        this.set('pretty_created_at',new Date(this.get('created_at')));  
    },
});

サーバーからのAPI応答を見ると、日付の形式が次のとおりであることがわかります。

"created_at": "2012-06-24T05:00:00+00:00"
4

2 に答える 2

1

Javascriptのような形式で日付を指定する必要があります。

new Date("Month dd, yyyy hh:mm:ss");
new Date("Month dd, yyyy");
new Date(yy,mm,dd,hh,mm,ss);
new Date(yy,mm,dd);
new Date(milliseconds);
于 2012-06-26T03:14:48.777 に答える
0

デバッグ後、モデルが次のように初期化されていることがわかりました。

house = new House()

したがって、created_at属性は未定義でした。

timeago.js情報を表示するために使用することにしました。ただし、この問題の回避策は次のとおりです。

App.House = Backbone.Model.extend({
    url: function() {
        return API_URL + this.id;
    },
    created_at: function() {
        // further processing could be performed here
        // before returning. You might want to return a 
        // formatted string or something...
        return new Date(this.get('created_at'));

    },
});
于 2012-06-26T03:44:02.313 に答える