0

db から日付を取得して、テレリック 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);
        }
    });
};

「/Date(13496724000000)/」ではなく「MM/DD/YYYY」という形式で日付を表示したい

どんな助けでも大歓迎です。

4

2 に答える 2

2

このjson Date 形式を解析して、形式に変換でき"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 に答える