C# 为什么在DateTime属性中追加时区

C# 为什么在DateTime属性中追加时区,c#,json,datetime,asp.net-web-api,C#,Json,Datetime,Asp.net Web Api,下面是我的DTO public class CustomerTO { public int Id { get; set;} public DateTime? RDate {get;set;} public DateTime? LDate {get; set;} } 当我签入数据库时,RDate和LDate对应列的值如下所示:- RDate = 2017-04-03 21:09:24.273 LDate = 2017-04-03 21:09:24.577 我的行动 pu

下面是我的DTO

public class CustomerTO
{
  public int Id { get; set;}
  public DateTime? RDate {get;set;}
  public DateTime? LDate {get; set;}     

}
当我签入数据库时,RDate和LDate对应列的值如下所示:-

RDate = 2017-04-03 21:09:24.273
LDate = 2017-04-03 21:09:24.577
我的行动

public string Get()
{
   var customers = dal.GetRecords();
   //if I hover the customers object & see the RDate or LDate value it is as desired.

var strJson= JsonConvert.SerializeObject(customers);
//but here the value of RDate/LDate has Time zone appended.
}
strJson包含RDate和LDate值,如下所示

RDate = 2017-04-03T21:09:24.5768697+05:30
LDate = 2017-04-03T21:09:24.5618688+05:30 // why +5:30 timezone is getting appended.
如何解决这个问题

非常感谢您的帮助/建议。

请尝试将JsonSerializerSettings的DateTimeZoneHandling属性设置为Unspecified:


如果Json在另一个时区反序列化,则会保留原始日期/时间。@stuartd,很抱歉,我没有收到您的消息,但我的项目中还有其他地方不存在此类问题。请添加可能导致此情况的原因。谢谢您需要提供回购协议:。请参阅:
var strJson = JsonConvert.SerializeObject(customers, new JsonSerializerSettings
{
    DateTimeZoneHandling = DateTimeZoneHandling.Unspecified
});