You can write your own converter as follows:
class UtcDateTimeOffsetConverter : Newtonsoft.Json.Converters.IsoDateTimeConverter { public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if (value is DateTimeOffset) { var date = (DateTimeOffset)value; value = date.UtcDateTime; } base.WriteJson(writer, value, serializer); } public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { object value = base.ReadJson(reader, objectType, existingValue, serializer); if (value is DateTimeOffset) { var date = (DateTimeOffset)value; value = date.ToLocalTime(); } return value; } }
And apply it to the property you want to use with the JsonConverter attribute:
[JsonConverter(typeof(UtcDateTimeOffsetConverter))] public DateTimeOffset Date { get; set; }
Thomas levesque
source share