代码之家  ›  专栏  ›  技术社区  ›  mohammad rostami siahgeli

给定一个以C#表示的周数,如何获取该周的开始和结束日期?

c#
  •  0
  • mohammad rostami siahgeli  · 技术社区  · 8 年前

    我想编写一个函数,获取一年中的周数,并返回该周的开始日期。另一个函数,用于获取周数并返回该周的结束日期。

    伪代码:

    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;
    }
    

    我如何计算这些日期?

    This question is in PHP 这对我没有帮助。而且 this question gets the week number of the month .我有一年中的周数。

    1 回复  |  直到 8 年前
        1
  •  2
  •   johnny 5    8 年前

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

    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;
    }