2012-06-26 38 views
0

我在我的django模型中有models.DateTimeField()字段。django tastypie和backbone的日期

我正在使用骨幹來顯示此模型。我希望能夠漂亮地打印日期。

我嘗試以下,但它說無效日期:

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" 

回答

0

調試後我意識到d是發生了什麼事是模型正在initalized這樣的:

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

    }, 
}); 
1

您需要以Javascript的形式提供日期Javascript like:

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