Example #1
0
 public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
 {
     if (value is DateTime)
     {
         var dt = (DateTime)value;
         writer.WriteStartConstructor("DateTime");
         writer.WriteValue(dt.Year);
         writer.WriteValue(dt.Month);
         writer.WriteValue(dt.Day);
         writer.WriteValue(dt.Hour);
         writer.WriteValue(dt.Minute);
         writer.WriteValue(dt.Second);
         writer.WriteValue(dt.Millisecond);
         writer.WriteEndConstructor();
     }
 }
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, JsonSerializer serializer)
        {
            if (value is DateTime || value is DateTime?)
            {
                DateTime date = value is DateTime ? (DateTime)value : (value as DateTime?).Value;

                if (date.Equals(DateTime.MinValue))
                {
                    writer.WriteRawValue("null");
                }
                else
                {
                    string template = (date.TimeOfDay == new TimeSpan(0, 0, 0)) ? "{0},{1},{2}" : "{0},{1},{2},{3},{4},{5},{6}";

                    writer.WriteStartConstructor("Date");
                    writer.WriteRawValue(
                        string.Format(template, date.Year, date.Month - 1, date.Day,
                                      date.Hour, date.Minute, date.Second, date.Millisecond));
                    writer.WriteEndConstructor();
                }
            }
        }