给定C#中的周数,如何获取该周的开始和结束日期?

给定C#中的周数,如何获取该周的开始和结束日期?,c#,C#,我想写一个函数,获取一年中的周数,并返回该周的开始日期。还有一个函数,它获取周数并返回该周的结束日期 伪代码: public DateTime GetSaturdayDateOfWeek(int weekNumberInYear) { // calculations, that finds the Saturday of that week, 00:00:00 of midnight return DateTime.Now; } public DateTime GetFridd

我想写一个函数,获取一年中的周数,并返回该周的开始日期。还有一个函数,它获取周数并返回该周的结束日期

伪代码:

public DateTime GetSaturdayDateOfWeek(int weekNumberInYear)
{
    // calculations, that finds the Saturday of that week, 00:00:00 of midnight
    return DateTime.Now;
}

public DateTime GetFriddayDateOfWeek(int weekNumberInYear)
{
    // calculations, that finds the Friday of that week, 23:59:59
    return DateTime.Now;
}
我如何计算这些日期


这对我没有帮助。也。我有一年中的周数。

这并不漂亮,Zohar Peled的评论非常有效,但这适用于“正常”(因为没有更好的词)日历。(即:没有本地化,没有特殊)这应该提供足够的基础

public DateTime GetSaturdayDateOfWeek(int weekNumberInYear)
{
    var myDate = new DateTime(DateTime.Now.Year, 1, 1);
    myDate = myDate.AddDays((weekNumberInYear -1)* 7);
    if (myDate.DayOfWeek < DayOfWeek.Saturday)
    {
        myDate = myDate.AddDays(DayOfWeek.Saturday - myDate.DayOfWeek);
    }
    if (myDate.DayOfWeek > DayOfWeek.Saturday)
    {
        myDate = myDate.AddDays(myDate.DayOfWeek - DayOfWeek.Saturday);
    }
    return myDate;
}
public DateTime GetSaturdayDateOfWeek(int week numberInYear)
{
var myDate=new DateTime(DateTime.Now.Year,1,1);
myDate=myDate.AddDays((周数年-1)*7);
如果(myDate.DayOfWeekDayOfWeek.Saturday)
{
myDate=myDate.AddDays(myDate.DayOfWeek-DayOfWeek.Saturday);
}
返回myDate;
}

这并不漂亮,Zohar Peled的评论非常有效,但这适用于“正常”(因为没有更好的词)日历。(即:没有本地化,没有特殊)这应该提供足够的基础

public DateTime GetSaturdayDateOfWeek(int weekNumberInYear)
{
    var myDate = new DateTime(DateTime.Now.Year, 1, 1);
    myDate = myDate.AddDays((weekNumberInYear -1)* 7);
    if (myDate.DayOfWeek < DayOfWeek.Saturday)
    {
        myDate = myDate.AddDays(DayOfWeek.Saturday - myDate.DayOfWeek);
    }
    if (myDate.DayOfWeek > DayOfWeek.Saturday)
    {
        myDate = myDate.AddDays(myDate.DayOfWeek - DayOfWeek.Saturday);
    }
    return myDate;
}
public DateTime GetSaturdayDateOfWeek(int week numberInYear)
{
var myDate=new DateTime(DateTime.Now.Year,1,1);
myDate=myDate.AddDays((周数年-1)*7);
如果(myDate.DayOfWeekDayOfWeek.Saturday)
{
myDate=myDate.AddDays(myDate.DayOfWeek-DayOfWeek.Saturday);
}
返回myDate;
}

周的开始和结束是特定于文化的。此外,周数也有点含糊不清——如果一周从周一开始,而1月1日是周四,那么1月6日(一年中的第一个星期二)属于一年中的第一周还是第二周?更不用说每年的工作日都不同于前一年了……@ZoharPeled回答了这些问题:周的开始和结束是特定于文化的。此外,周数也有点含糊不清——如果一周从周一开始,而1月1日是周四,那么1月6日(一年中的第一个星期二)属于一年中的第一周还是第二周?更不用说每年的工作日都不同于前一年……@ZoharPeled回答了这些问题: