c#上周开始日期

use*_*258 2 c#

可能重复:
计算上周的开始和结束日期

我需要在c#中获取前一周的开始日期,例如.今天是1月9日.上周的开始日期是1月1日.

我使用以下代码

    DayOfWeek weekStart = DayOfWeek.Sunday;
    DateTime startingDate = DateTime.Today;

    while (startingDate.DayOfWeek != weekStart)
        startingDate = startingDate.AddDays(-1);

    DateTime previousWeekStart = startingDate.AddDays(-7);
Run Code Online (Sandbox Code Playgroud)

这是c#中的最佳方式吗?

谢谢

小智 11

如前所述,副本的回复可能会对你有所帮助

mondayOfLastWeek = DateTime.Now.AddDays( -(int)DateTime.Now.DayOfWeek - 6 );
sundayOfLastWeek = DateTime.Now.AddDays(-(int)DateTime.Now.DayOfWeek)
Run Code Online (Sandbox Code Playgroud)


Rah*_*hul 5

尝试:

DateTime.Today.AddDays(-7);
Run Code Online (Sandbox Code Playgroud)