2016-04-15 2 views
0

У меня есть класс с имущественным DateTime, такие каксериализации и десериализации DateTime

class myclass { 
    DateTime date{get;set;} 
} 

содержание

01/09/2015 00:00:00

я конвертировать класс с

var json = jsonSerialiser.Serialize(myclassInstance); 

и когда я десериализации дата 31/08/2015 22:00:00 д eserialization производится с

myclass mc = JsonConvert.DeserializeObject<myclass>(json) as myclass ; 

Как я могу сохранить дату формата?

+1

Что такое 'Kind' исходного значения DateTime? Это почти наверняка проблема. ('DateTime', к сожалению, разбит несколькими способами, и нет простого способа для сериализации JSON для учета этого.) –

+0

@JonSkeet - это не просто простой тип, чтобы просто хранить данные? что-нибудь еще сделало бы его очень трудным для использования, точно так же, как java, imo – Mafii

+1

Обходным путем является преобразование даты в строку, а затем сериализация/десериализация. Вы можете вернуть исходный объект DateTime, вызвав DateTime.Parse (string) – auburg

ответ

0

Используйте значения DateTime в UTC. Таким образом, вы также можете быть уверены, что дата/время, используемое на одном конце провода (в, например, в Северной Америке), такое же, как и на другой стороне (например, в Европе).

Смежные вопросы