javascript - 反序列化 JSON 日期无时区

标签 javascript asp.net-mvc json datetime

我有一个问题从昨天开始就让我头疼,不知道如何处理它。

  • 我的数据库中有一个包含以下值的日期字段:

enter image description here

  • 然后我的应用程序获取该值并将其发送到我的 Web 表单。(该值仍然相同 :) 很好!!

enter image description here

  • 在客户端,我使用 javascript 警报中断以查看来自 JSON 的值(该值仍然相同 :) 很好!!

enter image description here

客户端的警报代码是这样的:

// transaction json model
var jsonTransaction = @(Html.Raw(Json.Encode(this.Model.Transaction))); 
alert(new Date(parseInt(jsonTransaction.Date.substr(6))));
  • 现在,当我将值发送回服务器时,这就是我得到的结果

enter image description here

  • 最后在反序列化 JSON 之后我的日期时间是错误的!!现在是第 8 天而不是第 7 天????????

enter image description here

这是反序列化的代码:

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

关于如何用日期解决这个问题的任何线索,我应该得到相同的日期,因为我没有改变任何东西。希望有人能指导我解决问题。

提前致谢。

最佳答案

Java 脚本在将日期解析为 currentdate = new Date(123232) 时使用世界时 因此,当您将日期发送给客户时,将其转换为 ISO 日期,例如 在将日期转换为 strong 之前确保日期为 UTC。

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

bty 我已经创建了 JSON Converted 来覆盖客户端的任何日期序列化以使用上述功能。

关于javascript - 反序列化 JSON 日期无时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13324955/

相关文章:

javascript - 每个 ng-repeat 都需要唯一的数据属性

c# - 基于当前 URL 创建规范 URL 有什么好处?

java - 无法解析 JSON

json - JSON 字符串中是否允许换行?

c# - mvc中如何限制用户在一个浏览器窗口中只能练习单个session

使用 Google+ API 进行 jQuery JSON 解析

javascript - ng-model 在 Angular 1.3 中的输入类型编号上抛出错误

javascript - Typescript/React 功能组件的 props 功能 - 什么类型?

javascript - 在 Sortable.js 中拖放列表 : How to set a different drop area than a Sortable list?

asp.net-mvc - 当服务器位于 AWS ELB 之后时,ASP.NET Core MVC 应用程序如何获取客户端 IP 地址?