using Newtonsoft.Json; namespace YLErp.Converter2 { public class IsoDateTimeConverter : JsonConverter { public IsoDateTimeConverter() { } public IsoDateTimeConverter(string format) { DateTimeFormat = format; } public string DateTimeFormat { get; set; } = "yyyy/MM/dd"; public override DateTime ReadJson(JsonReader reader, Type objectType, DateTime existingValue, bool hasExistingValue, JsonSerializer serializer) { var value = reader.Value?.ToString(); if (string.IsNullOrEmpty(value)) { return existingValue; } else { if (DateTime.TryParse(value, out var date)) { return date; } else { return existingValue; } } } public override void WriteJson(JsonWriter writer, DateTime value, JsonSerializer serializer) { writer.WriteValueAsync(value.ToString(DateTimeFormat)).Wait(); } } }