C# 获取指定日期的星期日

C# 获取指定日期的星期日,c#,datetime,C#,Datetime,如何获取指定星期的星期日 例如,如果我的DateTime包含日期“11/19/2020”,那么如何获得11/19周的星期日?该值将为11/13。这是您需要的 DateTime d = new DateTime(2020,11,19); int diff = d.DayOfWeek - DayOfWeek.Sunday; DateTime lastSunday = d.AddDays(-diff); Console.WriteL

如何获取指定星期的星期日


例如,如果我的DateTime包含日期“11/19/2020”,那么如何获得11/19周的星期日?该值将为11/13。

这是您需要的

DateTime d = new DateTime(2020,11,19);           
int diff = d.DayOfWeek - DayOfWeek.Sunday;             
DateTime lastSunday = d.AddDays(-diff);           
Console.WriteLine(lastSunday);

无论星期天是一周的第一天,这都会起作用。并非所有地方都是这样。在欧洲(至少是欧洲最大的部分),星期天是一周的最后一天。在这种情况下,您必须检查每周第一天的相应CultureInfo,并且必须使用偏移量。为什么值应为
11/13/2020
?今天是星期五
new DateTime(2020,11,19).AddDays(-(new DateTime(2020,11,19).DayOfWeek - DayOfWeek.Sunday))