.net - 在.net中,知道周号如何获取工作日日期?

标签 .net datetime week-number dayofweek

我想在C#中创建一个函数,该函数用一个星期的数字返回那个星期的日子。

例如对于第40周,我如何获得日期:
4/10、5/10、6/10、7/10、8/10、9/10、10/10。

先感谢您!

最佳答案

我认为这应该做您想要的:

    public static DateTime[] WeekDays(int Year, int WeekNumber)
    {
        DateTime start = new DateTime(Year, 1, 1).AddDays(7 * WeekNumber);
        start = start.AddDays(-((int)start.DayOfWeek));
        return Enumerable.Range(0, 7).Select(num => start.AddDays(num)).ToArray();
    }

尽管我将星期日视为一周的第一天,但​​如果您希望将星期一作为第一天,则更改范围为(0,7)到(1,7)。

如果您想符合ISO标准,我认为这应该可行:
    public static DateTime[] WeekDays(int Year, int WeekNumber)
    {
        DateTime start = new DateTime(Year, 1, 4);
        start = start.AddDays(-((int)start.DayOfWeek));
        start = start.AddDays(7 * (WeekNumber - 1));
        return Enumerable.Range(0, 7).Select(num => start.AddDays(num)).ToArray();
    }

关于.net - 在.net中,知道周号如何获取工作日日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3854429/

相关文章:

r - 如何从日期中获取周数?

c# - 找不到 Controller dotnetCore 类

c# - IDisposable接口(interface)的主要用途

mysql - 使用 Unix TimeStamp 格式的数据计算每月行数的 SQL 查询

ruby-on-rails - 将小时,分钟和秒转换为ruby中的秒

php - 如何获得以星期日为开始日的周数?

c# - 从构建输出中省略程序集的本地化版本

c# - 从 Microsoft.Maui.Controls.Application 中的 IServiceProvider 解析 MainPage

c# - 为什么 GetAllDateTimePatterns 方法不返回唯一格式?

java - 如何通过给出月份中的星期和星期几来获取日期