簡體   English   中英

C#日期時間問題

[英]C# Datetime problem

我需要未來一周的第一個星期一嗎?

如何制作C#?

現在日期09.jan.2009

我需要2009年6月15日星期一

如果要在特定日期后的第一個星期一開始,請執行以下操作:

DateTime GetFirstMondaySince(DateTime afterWhen)
{
   int dayOfWeek = (int)someDate.DayOfWeek;
   int wantedDay = (int)DayOfWeek.Monday;
   return afterWhen.AddDays((wantedDay-dayOfWeek+7)%7);
}

對於一年中的第一個星期一,請使用GetFirstMonday(DateTime(2009,1,1))

等等..

注意:未經測試的代碼。 使用前請先了解並仔細測試。

下周的第一個星期一: GetFirstMondaySince(DateTime.Now + TimeSpan.FromDays(2));

那也應該工作

DateTime monday = DateTime.Now.AddDays(-(int)DateTime.Now.DayOfWeek + 1).AddDays(7).Date
    public DateTime GetNextMonday()
    {

            DateTime dt = DateTime.Today;

            if dt.DayOfWeek == DayOfWeek.Monday
            {
                 dt.AddDays(7);
            }
            else
            {
               while (dt.DayOfWeek != DayOfWeek.Monday)
               {
                dt = dt.AddDays(1);
               }
            }
            return dt;
    }

暫無
暫無

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

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