How can I get the DateTime for the start of the week?

前端 未结 30 2559
走了就别回头了
走了就别回头了 2020-11-22 12:57

How do I find the start of the week (both Sunday and Monday) knowing just the current time in C#?

Something like:

DateTime.Now.StartWeek(Monday);
         


        
30条回答
  •  不要未来只要你来
    2020-11-22 13:36

    This would give you midnight on the first Sunday of the week:

    DateTime t = DateTime.Now;
    t -= new TimeSpan ((int) t.DayOfWeek, t.Hour, t.Minute, t.Second);
    

    This gives you the first Monday at midnight:

    DateTime t = DateTime.Now;
    t -= new TimeSpan ((int) t.DayOfWeek - 1, t.Hour, t.Minute, t.Second);
    

提交回复
热议问题