0

我有以下代码

  var res = from c in model.Data 
            select new object[] { c.Id, c.Time, c.Name };

这个 res 变量作为 json 对象发送。

时间是 DateTime 属性。我在视图中获取这个 json 对象,如下所示

$(document).ready(function () {

        $('#myDataTable').dataTable({
            "bServerSide": true,
            "sAjaxSource": "/Home/AjaxHandler",
            "bProcessing": true,
            "aoColumns": [
                        { "sName": "ID",
                            "bSearchable": false,
                            "bSortable": false,
                            "fnRender": function (oObj) {
                                return '<a href=\"Details/' +
                                oObj.aData[0] + '\">View</a>';
                            }
                        },
                        { "sName": "Time" },
                        { "sName": "Name" }
                    ]
        });
    });

页面使用日期时间字段呈现,例如/Date(1346996934000)/

在服务器端或视图中转换它的最佳方法是什么以及如何做到这一点?

谢谢

4

1 回答 1

1

这个数字是刻度的日期吗?如果是这样的话,那么

DateTime date = new DateTime(long.Parse(1346996934000));

在这里发现:从刻度到日期的格式

这将被转换为:Fri Sep 07 2012 01:48:54 in GMT-4 timezone。

这是我用 JavaScript 做的一个解决方案,在这里找到:http: //deekshadev.blogspot.com/2011/03/convert-ticks-to-date-object.html

//convert the event day to a date object
var startticks = new Date(ticks * 1000);

//convert today to ticks will be in milliseconds
var todayticks = new Date().getTime();

var diff = startticks - todayticks;
var days = Math.floor(diff/(24*60*60*1000));
var hours = (diff/(60*60*1000)) % 24;
var mins = (diff/(60*1000)) % 60;
Here ticks was in seconds, so multiplying it with 1000 to convert to milliseconds.

如果仅需要显示该日期,我不会在服务器级别执行此操作。我会在客户端上转换并根据需要显示它。

于 2012-09-13T21:07:23.683 回答