0

I have a datatable and I export it to JSON format. One column of datatable is a date column, like 2013-01-09 02:18:11.117.

When I export it, it seems like "Date":"\/Date(1357690691117)\/"

My code is below:

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();

Why does the date column seem different?

Peter Mortensen
  • 30,030
  • 21
  • 100
  • 124
UserStackk
  • 75
  • 1
  • 1
  • 7

2 Answers2

2

See the Stack Overflow question Format a Microsoft JSON date?:

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

Stack Overflow question The "right" JSON date format is more specific and direct to your question.

Community
  • 1
  • 1
Jones
  • 1,426
  • 19
  • 33
0

It's auto-conversion: 2013-01-09 02:18:11.117 = "/Date(1357690691117)/" (milliseconds)

For example (conversion to "dd/mm/yyyy" format):

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

var test = formatJsonDate('/Date(1357690691117)/');
Peter Mortensen
  • 30,030
  • 21
  • 100
  • 124
user2700840
  • 357
  • 2
  • 13