Comment faire pour convertir JavascriptSerializer sérialisé DateTime chaîne en Javascript Date objet
Après la sérialisation d'un objet avec DateTime
champ avec JavaScriptSerializer
je vois que le DateTime
champ ressemble à ceci:
EffectiveFrom: "/Date(1355496152000)/"
Comment puis-je convertir cette chaîne pour objet Date Javascript?
source d'informationauteur dragonfly | 2013-04-23
Vous devez vous connecter pour publier un commentaire.
Il n'y est une réponse qui peut vous aider:
L'analyse de Date et d'-Temps à partir de JavaScript pour C#
Si vous souhaitez analyser datetime chaîne de valeur datetime avec javascript, vous devez utiliser "nouveau Jour", comme ceci:
Mise à JOUR: Cette réponse peut ne pas être appropriée dans tous les cas. Voir JD réponse pour une solution élégante qui est susceptible de mieux.
Vous pourrait "régler" la sortie de
JavaScriptSerializer
sur le .Net côté des choses:Ce serait changer
à
Qui est directement consommable par Javascript
EDIT: mise à jour pour accueillir les dates négatives
EDIT: Voici la Regex ligne pour VB gens:
Mise à JOUR 2016.11.20: Avec beaucoup plus datetime manipulation en javascript/json derrière moi, je voudrais suggérer de modifier la regex pour quelque chose d'aussi simple que de
La valeur résultante est JSON valide, et peut être converti en un objet Date du javascript côté.
Il est également intéressant de noter que moment.js (http://momentjs.com/docs/#/parsing/) gère ce format assez heureusement.
C'est un peu un hack, mais le ci-dessus semble peu élégante pour ce que je suis en train de réaliser, de sorte que dans la définition de l'objet, je suis la sérialisation, je l'ai fait:
Le point de l'être, au moins dans mon cas d'utilisation (désérialisation n'arrive jamais), le JSON n'est pas vraiment attention à ce que le C# est en train de faire avec la date de valeur. L'ajout de
[ScriptIgnore]
à la DateTime valeur et de donner un autre point de vue pour l'analyseur de sortie devrait faire l'affaire. Il n'est dans mon cas: