2013-12-24 3 views
0

У меня есть datatable, и я экспортирую его в формат JSON. Один столбец datatable является столбцом даты, например, 2013-01-09 02: 18: 11.117.JSON формат даты кажется другим

Когда я экспортировать его, похоже, "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

См переполнением стека вопрос Format a Microsoft JSON date?:

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

переполнением стека вопрос The "right" JSON date format более конкретна и прямо на ваш вопрос.

+1

psssst ...... Radix –

+0

@RoyiNamir: Хорошо, пожалуйста, просветите меня. Как бы вы положили «Устанавливает базовый признак по умолчанию в диапазоне от 2 до 16 для значения выражения». использовать здесь? Не потянув за ногу, я действительно не могу понять ее, и у вас есть верхняя часть, поэтому я должен упустить что-то очевидное. –

+0

@MarjanVenema IE8: http://i.stack.imgur.com/FpNsr.png –

0

Это автоматическое преобразование: 2013-01-09 02: 18: 11,117 = "/ Дата (1357690691117) /" (миллисекунды)

Например (в формате "дд/мм/гггг" преобразования) :

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

var test = formatJsonDate('/Date(1357690691117)/'); 
Смежные вопросы