Если вы хотите перечислить дни текущей недели, начиная с понедельника, вы можете сделать это:
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);