0

我的 django 模型中有一个models.DateTimeField()字段。

我正在使用主干来显示这个模型。我希望能够漂亮地打印日期。

我尝试了以下但它说无效日期:

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 回答