Forme appropriée pour formater la date à partir de la base de données en utilisant javascript / jquery

J'appelle ma base de données qui contient un datatype daté. La date ressemble à ceci:

2005-05-23 16: 06: 00,000

Je voudrais afficher cela dans une table lorsqu'un utilisateur sélectionne un certain élément dans une liste. J'appelle l'action de mon contrôleur et je renvoie Json de tous les temps et je les place dans une table. Le problème est que la date est complètement erronée. Ce qui est affiché est le suivant:

/ Date (1255470180000) /

La date qui est retournée n'est même pas analysable (ce que je ne veux pas faire de toute façon), donc je ne peux même pas obtenir les données si je le voulais. Des idées?

La date à laquelle vous revenez est sérialisée sur un marqueur et plusieurs millisecondes depuis minuit le 1er janvier 1970 (en UTC). Si vous isolez la partie numérique, convertissez-la en un numéro et laissez-la dans le constructeur Date vous obtiendrez une date réelle à laquelle vous pouvez travailler, que vous pouvez alors formater comme vous le souhaitez.

 var ticks, dt; // Isolate the numeric portion of the value ticks = /[0-9]+/.exec(json.dateValue)[0]; // Convert to a number ticks = parseInt(ticks); // Convert to a date dt = new Date(ticks); 

Alternativement, si le sérialiseur JSON sur le serveur prend en charge un paramètre "de remplacement" tel que celui de Crockford et ECMAScript 5ème édition, vous pouvez fournir un remplacement qui a mis en forme la date dans une chaîne de serveur et la gérer là, puisque vous avez dit que vous ne l'avez pas Voulez analyser la date côté client (bien que la balise jQuery m'a suggéré, vous avez peut-être fait).

J'ai fini par mettre en forme le code dans l'action du contrôleur à la place.

Je viens de jeter la propriété datetime à une chaîne à l'aide de .ToString () et obtenais les résultats souhaités.

Merci pour l'aide, bien que les gars.

L'autre alternative est de renvoyer la chaîne formatée à partir de l'action du contrôleur. Vous pouvez même laisser l'horodatage et renvoyer un deuxième champ comme «Timestamp en format» ou quelque chose de similaire.

 var listFromDb = ... return new Json(listFromDb.Select(itemFromDb => new List { new { Date = itemFromDb.Date, FormattedDate = FormatDate(itemFromDb.Date), ...}