Как динамически добавить название недели с датами, начиная с понедельника, в качестве заголовка таблицы? - PullRequest
0 голосов
/ 22 апреля 2020

Я пытаюсь создать приложение c# mvc для отображения расписаний каждого сотрудника. Я хочу создать таблицу динамически, и заголовок таблицы должен содержать значения:

Пн 20-04-2020 | Вт 21-04-2020 | Ср 22-04-2020 | Чт 23- 04-2020 | Пт 24-04-2020 | Сб 25-04-2020 | Вс 26-04-2020

Я новичок, поэтому я мало что знаю об этом и застрял на нем с какого-то времени Заранее спасибо.

1 Ответ

0 голосов
/ 22 апреля 2020

Если вы хотите перечислить дни текущей недели, начиная с понедельника, вы можете сделать это:

var today = DateTime.Now;       
var startDate = today.AddDays(-(((today.DayOfWeek - DayOfWeek.Monday) + 7) % 7));
var endDate = startDate.AddDays(7);
var currentWeekDays = Enumerable.Range(0, 7).Select(x => startDate.AddDays(x));

И если вы хотите отформатировать дату, чтобы получить Mon 20-04-2020, вы можете использовать формат "ddd dd-MM-yyyy".

В заключение вы можете получить Mon 20-04-2020|Tue 21-04-2020|Wed 22-04-2020|Thu 23-04-2020|Fri 24-04-2020|Sat 25-04-2020|Sun 26-04-2020, выполнив следующее:

var formattedCurrentWeekDays = currentWeekDays.Select(d => d.ToString("ddd dd-MM-yyyy")).ToList();
var result = string.Join("|", formattedCurrentWeekDays);
Console.WriteLine(result);
...