Search code examples
jsondatetimeasp.net-web-apijson.net

Dates without time in ASP.NET Web API's JSON output


Is there a simple way to configure JSON.NET so that some DateTime fields will be formatted without time and other DateTime fields will still be formatted with time?

Example:

{ firstName: 'John', lastName : 'Doe', birthday: '1965-09-23' }

Solution

  • If you need this to only affect a particular field, create a converter type first:

    public class OnlyDateConverter : IsoDateTimeConverter
    {
        public OnlyDateConverter()
        {
            DateTimeFormat = "yyyy-MM-dd";
        }
    }
    

    and then add this attribute to whatever fields/properties you want this for:

    [JsonConverter(typeof(OnlyDateConverter))]