| 1234567891011121314151617181920212223242526272829303132333435363738 |
- using System;
- using Abp.Timing;
- using Newtonsoft.Json;
- using Newtonsoft.Json.Converters;
- namespace Abp.Json
- {
- public class AbpDateTimeConverter : IsoDateTimeConverter
- {
- public override bool CanConvert(Type objectType)
- {
- if (objectType == typeof(DateTime) || objectType == typeof(DateTime?))
- {
- return true;
- }
- return false;
- }
- public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
- {
- var date = base.ReadJson(reader, objectType, existingValue, serializer) as DateTime?;
- if (date.HasValue)
- {
- return Clock.Normalize(date.Value);
- }
- return null;
- }
- public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
- {
- var date = value as DateTime?;
- base.WriteJson(writer, date.HasValue ? Clock.Normalize(date.Value) : value, serializer);
- }
- }
- }
|