我正在与 ASP.NET Web API 合作,特别是在日期方面。我看过这个问题和其他类似的问题,但我不喜欢给出的解决方案。
我有一个带有一些日期的对象。当我从 Web Api 控制器返回它时,它被序列化如下:
{
"AdjustmentId": "6b8bc63f-de50-4feb-b0e2-a10800cbc3c3",
"PortfolioCode": 2461,
"Description": "",
"StartDate": "2012-11-13T00:00:00+02:00",
"EndDate": "2012-11-13T00:00:00+02:00"
}
当我使用 ko.toJSON 从淘汰赛中返回完全相同的 ViewModel 时,我得到以下信息:
{
"AdjustmentId": "6b8bc63f-de50-4feb-b0e2-a10800cbc3c3",
"PortfolioCode": 2461,
"Description": "",
"StartDate": "2012-11-12T22:00:00Z",
"EndDate": "2012-11-12T22:00:00Z"
}
问题是日期现在没有在控制器上反序列化。对象在那里,但日期设置为 DateTime.Min。您还可以看到日期已经从 13 日午夜到 12 日晚上 10 点 - 这是因为时区更改。
谁可以帮我这个事?目前,作为一种解决方法,我正在使用 toISOString() 转换日期,但我希望在序列化中自动发生这种情况。
我真的很感激这方面的任何帮助