簡體   English   中英

給定C#中的星期數,我如何獲得該星期的開始和結束日期?

[英]Given a week number in C#, how can I gain start and end dates of that week?

我想編寫一個函數,該函數在一年中獲取星期數,並返回該星期的開始日期。 另外一個獲取周數並返回該周結束日期的函數。

偽代碼:

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

如何計算這些日期?

這個問題在PHP中 ,對我沒有幫助。 這個問題也得到一個月的星期數 我有一年中的星期幾。

它不是很漂亮,並且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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM