簡體   English   中英

如何在C#中從給定的星期中獲取星期日期

[英]How to get week dates from a given week no in C#

我有需要轉換為C#的PHP代碼。 基本上,它計算給定一周的5個日期。
PHP代碼如下:

    $period_week_start = new DateTime();
    $monday = $period_week_start->setISODate(2016, 36)->format('Ymd');
    $tuesday = $period_week_start->modify('+1 days')->format('Ymd');

輸出量

20160815
20160816 

我正在使用的C#代碼如下:

 var monday = DateTime.Today.AddDays(-(int)DateTime.Today.DayOfWeek + (int)DayOfWeek.Monday).ToString("yyyyMMdd");
 var tuesday = DateTime.Today.AddDays(-(int)DateTime.Today.DayOfWeek + (int)DayOfWeek.Tuesday).ToString("yyyyMMdd");

輸出量

20160815
20160816 

這確實給了我想要的輸出,但是我需要一種傳遞“ Week NO ”的方法,以便獲得給定星期的日期。

要獲得星期幾,我使用以下代碼:

 var currentCulture = CultureInfo.CurrentCulture;
 var weekNo = currentCulture.Calendar.GetWeekOfYear(DateTime.Now,
            currentCulture.DateTimeFormat.CalendarWeekRule, currentCulture.DateTimeFormat.FirstDayOfWeek);

謝謝

嘗試這個

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

您可以更改范圍以說星期一至星期五,依此類推,然后按所需的格式設置日期。

暫無
暫無

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

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