2017-04-03 1 views
-2

Unten ist mein DTO.Warum Zeitzone in Eigenschaft von DateTime angefügt wird

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

} 

Wenn ich die Werte für entsprechende Spalten für rdate & LDate in der Datenbank überprüfen sind wie folgt: -

RDate = 2017-04-03 21:09:24.273 
LDate = 2017-04-03 21:09:24.577 

Meine Aktion.

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 enthält die rdate & Werte LDate als unten.

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. 

Wie adressiere ich das ??

Jede Hilfe/Vorschlag sehr geschätzt.

+0

Es ist es also, wenn die Json in einer anderen Zeitzone deserialisiert wird, das ursprüngliche Datum/Zeit erhalten bleibt. – stuartd

+0

@stuartd, Sorry, ich habe dich nicht bekommen –

Antwort

0

Versuchen Sie, stellen Sie die DateTimeZoneHandling Eigenschaft des JsonSerializerSettings-Unspecified:

var strJson = JsonConvert.SerializeObject(customers, new JsonSerializerSettings 
{ 
    DateTimeZoneHandling = DateTimeZoneHandling.Unspecified 
}); 
+0

Aber es gibt andere Orte in meinem Projekt, wo kein solches Problem existiert. Bitte fügen Sie hinzu, was das verursachen könnte. Dank –

+0

Sie müssen ein Repo bereitstellen: https://stackoverflow.com/help/mcve. Bitte beachten Sie hierzu: http://stackoverflow.com/questions/10033612/prevent-json-net-4-5-from-appending-timezone-offset-when-using-microsoftdateform – mm8

Verwandte Themen