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

前端 未结 30 2639
走了就别回头了
走了就别回头了 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:34

        namespace DateTimeExample
        {
            using System;
    
            public static class DateTimeExtension
            {
                public static DateTime GetMonday(this DateTime time)
                {
                    if (time.DayOfWeek != DayOfWeek.Monday)
                        return GetMonday(time.AddDays(-1)); //Recursive call
    
                    return time;
                }
            }
    
            internal class Program
            {
                private static void Main()
                {
                    Console.WriteLine(DateTime.Now.GetMonday());
                    Console.ReadLine();
                }
            }
        } 
    

提交回复
热议问题