DateTimeJsonConverter.cs 638 B

12345678910111213141516171819202122
  1. using System.Text.Json;
  2. using System.Text.Json.Serialization;
  3. namespace Topsdk.Util;
  4. public class DateTimeJsonConverter :JsonConverter<DateTime>
  5. {
  6. private readonly string Format;
  7. public DateTimeJsonConverter(string format)
  8. {
  9. Format = format;
  10. }
  11. public override void Write(Utf8JsonWriter writer, DateTime date, JsonSerializerOptions options)
  12. {
  13. writer.WriteStringValue(date.ToString(Format));
  14. }
  15. public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
  16. {
  17. return DateTime.ParseExact(reader.GetString(), Format, null);
  18. }
  19. }