2013-05-02 80 views
0

我收到以下格式的服務器日期:星期四4月25日16:47:10 UTC + 0200 2013微風格:日期格式

類型是日期。

我希望日期以DD/MM/YYYY格式顯示。所以我用moment.js和我的實體的初始化函數,從registerEntityTypeCtor叫,我做的:

myEntity.CreatedDate = moment.utc(myEntity.CreatedDate).format('DD/MM/YYYY'); 

雖然該代碼返回正確的格式化的日期,myEntity.CreatedDate保持不變。 實際上,如果我在Visual Studio調試器中檢查並擴展屬性,它會顯示'prototype:Invalid Date'。

我有兩個問題: 1)我的方法是否正確?即在r​​egisterEntityTypeCtor中進行轉換是一件好事嗎? 2)爲什麼它不工作:-)?

回答

2

微風日期是JavaScript日期。你正在做的是用一個字符串設置日期屬性。 Breeze然後嘗試通過javascript的Date.parse方法將字符串解析爲日期以驗證它。如果這失敗了,Breeze就讓它獨自一人。

一般來說,如果你想格式化任何日期屬性,這應該而不是在模型中,而是在視圖中完成。換句話說,無論您在何處顯示日期,這是將日期轉換爲字符串的最佳位置。如果您使用的是像ko或angular這樣的綁定庫,兩者都提供了執行此操作的機制,就像大多數JavaScript模板引擎一樣。

+1

是的,你是正確的格式 「別MMM YYYY」。我沒在想。我使用的是AngularJS,就像{{myEntity.CreatedDate |日期: '日/月/年'}} – Sam 2013-05-02 17:43:59

0
moment("myEntity.CreatedDate", "Do MMM YYYY").format("DD/MM/YYYY") 

組根據您在myEntity.CreatedDate得到