简体   繁体   English

C#日期时间问题

[英]C# Datetime problem

ı need first monday future week ? 我需要未来一周的第一个星期一吗?

how to make C#? 如何制作C#?

now date 09.jan.2009 现在日期09.jan.2009

ı need 15.jun.2009 monday 我需要2009年6月15日星期一

If you want to get first Monday following a certain date, do this: 如果要在特定日期后的第一个星期一开始,请执行以下操作:

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

For first monday of the year, use GetFirstMonday(DateTime(2009,1,1)) 对于一年中的第一个星期一,请使用GetFirstMonday(DateTime(2009,1,1))

etc.. 等等..

NOTE: untested code. 注意:未经测试的代码。 Please understand and test carefully before using. 使用前请先了解并仔细测试。

First Monday next week: GetFirstMondaySince(DateTime.Now + TimeSpan.FromDays(2)); 下周的第一个星期一: 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