JSON日期格式似乎不同

时间:2013-12-24 12:56:21

标签: c# asp.net json c#-4.0

我有一个数据表,我将其导出为JSON格式。一列数据表是日期列,如2013-01-09 02:18:11.117。

当我导出它时,它似乎是"Date":"\/Date(1357690691117)\/"

我的代码如下:

DataTable dataTable = GetData();

StringBuilder sb = new StringBuilder();

IEnumerable<string> columnNames = dataTable.Columns.Cast<DataColumn>().
                                  Select(column => column.ColumnName);
sb.AppendLine(string.Join(seperator, columnNames));

foreach (DataRow row in dataTable.Rows)
{
    IEnumerable<string> fields = row.ItemArray.Select(field => field.ToString());
    sb.AppendLine(string.Join(seperator, fields));
}

return sb.ToString();

为什么日期列看起来不同?

2 个答案:

答案 0 :(得分:2)

请参阅Stack Overflow问题 Format a Microsoft JSON date?

var date = new Date(parseInt(jsonDate.substr(6)));

Stack Overflow问题 The "right" JSON date format 更具体,更直接针对您的问题。

答案 1 :(得分:0)

这是自动转换: 2013-01-09 02:18:11.117 =“/ Date(1357690691117)/”(毫秒)

例如(转换为“dd / mm / yyyy”格式):

function formatJsonDate(jsonDate) {
    return (new Date(parseInt(jsonDate.substr(6)))).format("dd/mm/yyyy");
};

var test = formatJsonDate('/Date(1357690691117)/');