public override void Write(
     Utf8JsonWriter writer,
     DateTime?dateTimeValue,
     JsonSerializerOptions options)
 {
     if (dateTimeValue.HasValue)
     {
         writer.WriteStringValue(JsonDateTimeConverter.WriteDate(dateTimeValue.Value));
     }
 }
        public override DateTime?Read(
            ref Utf8JsonReader reader,
            Type typeToConvert,
            JsonSerializerOptions options)
        {
            if (reader.TokenType != JsonTokenType.String)
            {
                throw new JsonException();
            }

            var maybeDate = reader.GetString();

            if (string.IsNullOrEmpty(maybeDate))
            {
                return(null);
            }

            return(JsonDateTimeConverter.ParseDate(maybeDate));
        }