6

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

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

在此处输入图像描述

  • 然后我的应用程序获取值并将其发送到我的网络表单。(价值还是一样的 :) 没关系!!

在此处输入图像描述

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

在此处输入图像描述

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

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

在此处输入图像描述

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

在此处输入图像描述

这是反序列化的代码:

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

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

提前致谢。

4

1 回答 1

0

Java 脚本在将日期解析为 currentdate = new Date(123232) 时使用通用时间,因此当您将日期发送给客户端时,请将其转换为 ISO 日期,例如确保日期为 UTC 格式,然后再将其转换为 strong 。

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

顺便说一句,我已经创建了 JSON Converted 以覆盖任何日期序列化到客户端以使用上述功能。

于 2013-09-24T20:06:29.427 回答