0

我想从数据库中提取日期并将其显示在 Telerik ddl 中。我可以提取日期并显示它,但无法使格式正常工作。日期显示如下:

/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())});
    }

这是我在 ddl 中显示的 jquery:

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)/”

任何帮助深表感谢。

4

2 回答 2

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;

};
于 2012-10-30T11:17:24.077 回答
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);
}

​</p>

于 2012-10-30T07:07:13.487 回答