В ASP.NET приложении я получаю дату из базы данных таким методом:
public class MonthController : ApiController
{
public List<Month> monthContainer;
public List<Month> getMonth()
{
DataContext dataContext = new DataContext();
monthContainer = (from d in dataContext.Duties
select new Month()
{
MonthDate = d.Date
}).ToList();
return monthContainer;
}
В ответе приходит дата в таком формате:
{
"MonthDate": "2015-10-01T00:00:00"
},
{
"MonthDate": "2015-10-02T00:00:00"
}
И так выходит каждый день месяца MonthDate до определенного года.
Как я могу вывести только месяца в таком формате без дублей?
"MonthDate": "2015-10"
"MonthDate": "2015-11"
"MonthDate": "2015-12"
"MonthDate": "2016-01"
Решением стало добавление к модели Month нескольких классов, которые преобразовывают JSON
class CustomDateTimeConverter : IsoDateTimeConverter
{
public CustomDateTimeConverter()
{
base.DateTimeFormat = "yyyy-MM-dd";
}
}
public class DateFormatConverter : IsoDateTimeConverter
{
public DateFormatConverter(string format)
{
DateTimeFormat = format;
}
}
public class Month
{
[JsonConverter(typeof(DateFormatConverter), "yyyy-MM")]
public DateTime MonthDate { get; set; }
}
и добавление
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
Можно так
monthContainer = dataContext.Duties
.Select(d=>d.ToString("yyyy-MM"))
.Distinct()
.ToList();
return monthContainer;
И поменять тип модели во вью на IEnumerable<string>
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Всем привет, Сразу к делу : Моя задача вращать картинку в pictureBox (есть ракета, она должна плавно отклоняться на угол от -30° до 30° в зависимости...