C# 选择上周的星期几

C# 选择上周的星期几,c#,C#,我怎样才能知道上星期几 比如说 我想选择6月23日星期日作为星期日 我只能得到本周的星期几 这是我的密码 DateTime today = DateTime.Now; while (today.DayOfWeek != DayOfWeek.Sunday) today = today.AddDays(-1); 那么: DayOfWeek dayToFind = DayOfWeek.Sunday; today.AddDays(-1 * (int)today.DayOfWeek).AddD

我怎样才能知道上星期几

比如说

我想选择6月23日星期日作为星期日

我只能得到本周的星期几

这是我的密码

DateTime today = DateTime.Now;

while (today.DayOfWeek != DayOfWeek.Sunday)
    today = today.AddDays(-1);
那么:

DayOfWeek dayToFind = DayOfWeek.Sunday;
today.AddDays(-1 * (int)today.DayOfWeek).AddDays(-7).AddDays((int)dayToFind);
第一个AddDays会备份到本周开始,然后AddDays-7会备份到上周开始,然后第三个AddDays会提前到您要查找的日期。

怎么样:

DayOfWeek dayToFind = DayOfWeek.Sunday;
today.AddDays(-1 * (int)today.DayOfWeek).AddDays(-7).AddDays((int)dayToFind);
第一个AddDays将备份到本周开始,然后AddDays-7将备份到上周开始,然后第三个AddDays将提前到您要查找的日期。

可能是这样的:

DateTime today = DateTime.Today;
int difference = today.DayOfWeek - DayOfWeek.Sunday;
DateTime lastSunday = today.AddDays(-difference).AddDays(-(7 * 1));
                                                          //   ^ number of weeks to remove
这基本上是说,从本周开始,再减去7天。

也许是这样:

DateTime today = DateTime.Today;
int difference = today.DayOfWeek - DayOfWeek.Sunday;
DateTime lastSunday = today.AddDays(-difference).AddDays(-(7 * 1));
                                                          //   ^ number of weeks to remove

这基本上是说,转到一周的开始,然后再删除7天。

您可以通过使用初始日期值创建DateTime对象,将其设置为特定日期。如果希望它以今天而不是指定日期为基础,只需减去一周。

您可以通过使用初始日期值创建DateTime对象,将其设置为特定日期。如果您希望从今天开始计算,而不是指定日期,只需减去一周。

谢谢!我需要等4分钟才能接受这个答案。谢谢!我需要等待4分钟才能接受这个答案。顺便说一句,减去DayOfWeek。周日是不必要的,因为它的值是0。是的,但这个想法是为了展示你可以如何返回到说。。星期一。但那无关紧要。你不妨今天就写。DayOfWeek-0,这与如何到达周一或周日以外的任何一天无关。哦,别担心,我明白你在做什么。你的意思是把星期天改成你要找的那一天。很好。你让我把我写的东西翻了两遍又三遍。。但是,是的,这就是想法:顺便说一下,减去DayOfWeek。周日是不必要的,因为它的值是0。没错,但这个想法是为了展示你可以如何回到说。。星期一。但那无关紧要。你不妨今天就写。DayOfWeek-0,这与如何到达周一或周日以外的任何一天无关。哦,别担心,我明白你在做什么。你的意思是把星期天改成你要找的那一天。很好。你让我把我写的东西翻了两遍又三遍。。但是是的,这就是想法: