我想从db中提取日期并将其显示在telerik ddl中。我能够拉出日期并显示它,但无法使格式化工作。日期显示如下:
/Date(13496724000000)/
这是我的控制器操作,用于从db:
中提取日期 [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 :(得分:2)
您无法解析此"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 :(得分: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);
}