假设我将星期日 - 星期六视为一个星期,如何在 C# 中获取当前星期的所有日期?
例如,当前日期是 2017 年 3 月 30 日
,我需要的输出是,
26-March-2017,
27-March-2017,
28-March-2017,
29-March-2017,
30-March-2017,
31-March-2017,
01-April-2017
最佳答案
您可以尝试使用 DateTimeFormat
找出当前周的开始日期并使用 Linq 生成字符串:
DateTime startOfWeek = DateTime.Today.AddDays(
(int) CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek -
(int) DateTime.Today.DayOfWeek);
string result = string.Join("," + Environment.NewLine, Enumerable
.Range(0, 7)
.Select(i => startOfWeek
.AddDays(i)
.ToString("dd-MMMM-yyyy")));
在 en-US
文化的情况下,您将获得(周从 星期日 开始)
26-March-2017, // <- starts from Sunday
27-March-2017,
28-March-2017,
29-March-2017,
30-March-2017,
31-March-2017,
01-April-2017
如果是 ru-RU
文化,您将获得(一周从 星期一 开始)
27-марта-2017, // <- Starts from Monday
28-марта-2017,
29-марта-2017,
30-марта-2017,
31-марта-2017,
01-апреля-2017,
02-апреля-2017
关于c# - 获取本周的所有日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43122759/