2012-10-29 25 views
0

我想從db中提取日期並將其顯示在telerik ddl中。我能夠拉日期並顯示它,但不能使格式化工作。該日期顯示是這樣的:使用linq查詢從數據庫中提取日期格式不正確

/Date(13496724000000)/ 

這裏是我的控制器動作拉從數據庫日期:

[HttpPost] 
    public ActionResult Date(int id) 
    { 
     var dates = (from p in db.vwdb.Where(u => u.Id == id) 
          group p by p.Date into g 
        select g.Key).ToList(); 

     return Json(new { data = Convert.ToDateTime(weeks.Min())}); 
    } 

這裏是我的jQuery的DDL來顯示它:

function populateDate() { 
    var link = '/Users/Date'; 
    var dataSource = []; 
    $.ajax({ 
     type: 'POST', 
     url: link, 
     data: { id: id }, 
     dataType: 'json', 
     success: function (result) { 
       var dateOf = result.data; 
       dataSource.push({ Text: dateOf , Value: dateOf }); 
      $("#Date").data("tDropDownList").dataBind(dataSource); 
     }, 
     error: function (result) { 
      alert(result.message); 
     } 
    }); 
}; 

我想以這種格式顯示日期:「MM/DD/YYYY」 而不是「/ Date(13496724000000)/」

非常感謝任何幫助。

+0

和你在哪裏使用日期列表? –

+0

@HamletHakobyan用它在網頁上顯示日期。 – user793468

+0

是[moment.js](http://momentjs.com/)的東西嗎? –

回答

2

可以解析這個JSON日期格式,並將其轉換成"MM/DD/YYYY"格式。

嘗試:

// jsonDate = "/Date(13496724000000)/" 

function parseJsonDateTime(jsonDate) { 

    var dateString = jsonDate.substr(6); 
    var currentTime = new Date(parseInt(dateString)); 
    var month = currentTime.getMonth(); 
    var day = currentTime.getDate(); 
    var year = currentTime.getFullYear(); 

    var date = month + "/" + day + "/" + year; 
    return date; 

}; 
1

嘗試這樣的:

success: function (result) { 
    var date = new Date(parseInt(result.data.replace("/Date(", "").replace(")/",""), 10)); 
    var dateOf = date.getDate() + "/" + (date.getMonth() + 1) + "/" + date.getFullYear(); 
    dataSource.push({ Text: dateOf , Value: dateOf }); 
    $("#Date").data("tDropDownList").dataBind(dataSource); 
} 

相關問題