c# - 获取本周的所有日期

标签 c# datetime c#-4.0 datetime-format

假设我将星期日 - 星期六视为一个星期,如何在 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/

相关文章:

asp.net-mvc - 上一页链接出现在 MVC3 Razor 应用程序的地址栏中吗?

c# - WPF 无法设置组合框的选定项

c# - 如何设置多个viewbox最大的尺寸?

c# - 如何制作非矩形Winform?

c# - 如何测试 8 :00 PM is valid prior to 12:00 AM?

Javascript 日期对象基于什么

c# - 如何在 Orchard 中根据字符串名称创建形状?

c# - C# 28 次内联限制是否有解决方法?

c# - DateTime.Parse 错误

javascript - 将日期从客户端(Javascript)发送到 WebApi 的最佳方式是什么