2012-12-23 100 views
3

我在一個簡單的項目,微風+淘汰賽+的WebAPI + SQL Server精簡遇到了以下問題ko.observable)並且執行Manager.SaveChanges()該行已正確保存到SQL Server Compact中,並且DateTime列的格式如下:23/12/2012 19.56.33「無效的日期」錯誤

當我後來做了Breeze查詢,我得到的排復出,但DateTime值沒有確認:

無效的日期

date場是KO觀察到這樣我無法調試值/格式,這是一種方法!

SaveChanges它在此之前的格式:Sun Dec 23 21:32:05 UTC+0100 2012

SaveChanges後,我發現它在SQL Server精簡表格式如下:23/12/2012 20.32.05

也許Breeze預計它也UTC ..?

任何幫助,非常感謝!

感謝

編輯:

這裏是從的WebAPI BreezeController返回的JSON:

[ 
    { 
     "$id":"1", 
     "$type":"MvcTask.Models.Task, MvcTask", 
     "id":110, 
     "text":"aaa", 
     "done":false, 
     "created":"2012-12-23T19.56.33.950" 
    } 
] 
+0

你可以發佈你的頁面從服務器接收的json嗎?如果你不使用JSON.Net作爲你的序列化程序,你的問題可能是由這個SO覆蓋問題http://stackoverflow.com/questions/726334/asp-net-mvc-jsonresult-date-format –

+0

Hy photo_tom,我已經編輯問題包括json, 感謝您的幫助! – frenchfaso

回答

-1

你的問題與默認日期格式做的就是不給你什麼你正在找。它看起來像你正在以UTC格式接收數據,你的代碼不期望這樣。

看看ASP.NET Web API Date format in JSON does not serialise successfully

他們有類似的問題,但顯示如何自定義序列化程序。我已經完成了這項技術,它解決了我的問題

+0

您的控制器應該使用[Breeze]屬性,該屬性包含專門爲BreezeJS客戶端使用而配置的JSON格式器。日期/時間格式爲ISO 8601標準。我不相信這是一個JSON格式問題 – Ward

1

早期版本的breeze存在一個問題,但它應該在更高版本中修復。你可以嘗試當前版本v.80.1嗎?

+0

已更新至版本80.1,但沒有任何更改... 同樣的錯誤。 – frenchfaso

+0

已更新至80.2,同樣的錯誤。 – frenchfaso

+0

此外,時間不正確,1小時內(我在utc + 1區) javascript輸出正確,但Breeze在Sql中保存錯誤 – frenchfaso