Déserialiser les dates JSON sans timezone

J'ai un problème qui me brise la tête depuis hier et ne sait pas comment y faire face.

  • J'ai un champ de date dans ma base de données qui contient la valeur suivante:

Entrez la description de l'image ici

  • Ensuite, ma demande récupère la valeur et l'envoie à mon formulaire Web. (La valeur est toujours la même 🙂 thats fine !!

Entrez la description de l'image ici

  • Dans le côté client, j'ai mis une pause avec une alerte javascript pour voir la valeur qui vient de JSON (la valeur est toujours la même 🙂 thats fine !!

Entrez la description de l'image ici

Le code côté client pour l'alerte est le suivant:

// transaction json model var jsonTransaction = @(Html.Raw(Json.Encode(this.Model.Transaction))); alert(new Date(parseInt(jsonTransaction.Date.substr(6)))); 
  • Maintenant, lorsque je renvoie la valeur au serveur, c'est ce que je reçois

Entrez la description de l'image ici

  • Et enfin après la désérialisation de la JSON, mon date est mauvaise !! Au lieu du jour 7, c'est maintenant le jour 8 ???????

Entrez la description de l'image ici

C'est le code de désérialisation:

 public JsonResult SaveBill(string jsonTransaction, string jsonTranDetails) { _appState = this.AppState; JsonResult returnVal = returnVal = Json( new { Success = true } ); var transaction = JsonConvert.DeserializeObject<BillTransaction>(jsonTransaction, new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore }); 

Tout un indice sur la façon de résoudre ce problème avec les dates, je devrais obtenir la même date parce que je n'ai rien changé. J'espère que quelqu'un peut me guider pour une solution.

Merci d'avance.

Le script Java utilise l'heure universelle lorsqu'il analyse la date comme currentdate = new Date (123232), alors lorsque vous envoyez la date au client, convertissez-le en date ISO, par exemple, assurez-vous que la date est en UTC avant de la convertir en forte.

 return String.Format("{0:yyyy-MM-ddTHH:mm:ss.fffZ}", dt); 

Bty J'ai déjà créé JSON Converted pour remplacer toute date de sérialisation côté client pour utiliser la fonction ci-dessus.