1

我从数据库中获取日期值并尝试在视图中显示它,但问题是它没有显示为日期。当我尝试加载 2012-02-03 00:00:00.000 时,它显示如下 /Date(1328207400000)/ 。我正在使用 asp.net MVC 3

看法

<tbody id="Activities">

                </tbody>

脚本

function GetFilteredActivities()
{
    var selectedActivityId = $('#SelectedActionId').val();

    $.getJSON('@Url.Action("GetFilteredActivityLogs", "Document")', { actionTypeId: selectedActivityId }, function (FilteredActivities)
    {
        var ActivitySelect = $('#Activities');
        ActivitySelect.empty();
        $.each(FilteredActivities, function (index, activity)
        {
            ActivitySelect.append("<tr><td>" + activity.EmployeeNo + "</td><td>" + activity.EmployeeName + "</td><td>" + activity.Description + "</td><td>" + activity.DateCreated + "</td></tr>");
        });
    });
}
4

3 回答 3

0

我确实喜欢这个。它对我有用。感谢所有分享他们经验的人。谢谢大家...

var DateCreated = eval((activity.DateCreated).replace(/\/Date\((\d+)\)\//gi, "new Date($1)"));
                var date = DateCreated.toDateString();
                var time = DateCreated.toLocaleTimeString();
                var dateTime = (date+" "+time);
于 2012-07-24T11:53:52.210 回答
0

This date is in the Unix epoch format. The number you obtained is the number of seconds elapsed since 1st January 1970. You should convert it to get back a normal date as output.

You can use this tool to check the value of the date.

于 2012-07-23T12:17:10.957 回答
0

正如 rrikesh 所说,这是一个 unix 日期 [自 1970 年 1 月 1 日以来经过的秒数],尝试将其转换为 ac# DateTime 对象,如下所示:

public DateTime FromUnixEpoch(long unixSeconds)
{
    // create a date that is equal to 1st Jan 1970 (midnight)
    var convertedDate = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
    // add the unixSeconds onto the base date and return
    return convertedDate.AddSeconds(unixSeconds);
}

当然,您也有将 ac# DateTime 转换为 unix 时间的相反情况:

public double ToUnixEpoch(DateTime sourceDate)
{
    DateTime unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0).ToUniversalTime();
    TimeSpan span = (sourceDate.ToUniversalTime() - unixEpoch);
    return span.TotalSeconds;
}

[编辑] - 在您上面的 [Date(1328207400000)] 的情况下,它似乎以毫秒为单位保存,在这种情况下,您需要将其考虑到方法中(除以 1000 以转换为秒)。另外,我不认为您的基准日期被保存为 UTC,因为上述日期的正确值实际上是 2012 年 2 月 2 日 18:30(我说您比格林威治标准时间早 5:30 是否正确? ? 即总部设在印度??)。

无论如何,我现在会把我的鼻子从事情中解脱出来:-)

于 2012-07-23T12:32:27.553 回答