I have two Json Converters, one converts dates as MM/dd/yyyy, and another as MM/dd/yy. Second converter (listed in the code example first) is always ignored, and the first one used. Is there a way to have multiple converters for DateTime, and use one on some pages, and another on other pages.
public class MmddyyDateConverter : JsonConverter<DateTime>
{
public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
return DateTime.Parse(reader.GetString());
}
public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options)
{
writer.WriteStringValue(value.ToString("MM/dd/yy"));
}
}
public class ShortDateConverter : JsonConverter<DateTime>
{
public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
return DateTime.Parse(reader.GetString());
}
public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options)
{
writer.WriteStringValue(value.ToShortDateString());
}
}
typeof(ShortDateConverter) is used, and typeof(MmddyyDateConverter) is ignored here:
[JsonConverter(typeof(MmddyyDateConverter))]
public DateTime? OfferDate { get; set; }