2013-03-07 36 views
0

當從編碼到數組時使用Kendo DatePicker和Date(-62135578800000)時,我有一個字符串日期值3/2/2013。我將一個Kendo數組綁定到一個模板,並希望該日期是用戶友好的,如「Sat,Mar 2」。我曾嘗試toString和ParseDate沒有運氣。我創建了一個小提琴,http://jsfiddle.net/srakestraw/Q3MF8/,但無法弄清楚我做錯了什麼。kendo.toString()MVVM綁定日期

當我加載頁面時,使用Json.Encode獲取Date(-62135578800000)等日期值,如下所示。

var viewModel = kendo.observable({ 
       slots: @Html.Raw(Json.Encode(Model.Slots)) 
       }); 

在前端,用戶使用KendoUI日期選擇器選擇日期,然後將值推入數組。我是否使用錯誤的日期格式?

感謝您的任何幫助。

回答

1

問題是Date(-62135578800000)是不是一個有效的JavaScript Date對象:

alert(typeof Date(-62135578800000)); // string

這裏是更新的jsfiddle:http://jsfiddle.net/Q3MF8/3/

+0

謝謝,我錯過了parsedate。 – scottrakes 2013-03-07 18:00:41

+0

@AtanasKorchev,負面時間戳表示1970年1月1日之前的日期。看起來你比Unix更年輕;-) – OnaBai 2013-04-26 17:34:08

+0

@OnaBai我可能比Unix時代更年輕,但日期(-62135578800000)不是有效的JavaScript日期。試試看:var d = Date(-62135578800000); 提醒(四); //現在顯示。 – 2013-04-27 13:19:18

0

這將格式化就可以一起工作的方式日期(ISO 8601)而不是那些可怕的Json.Encode格式化器怪物。

@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(Model))