使用星期几获取日期

PaR*_*RsH 4 .net c# datetime datetime-format

我在使用星期几查找日期时遇到问题.

例如:我有过去的日期可以说,

Date date= Convert.TodateTime("01/08/2013");
Run Code Online (Sandbox Code Playgroud)

2013年1月8日星期二星期二.

现在我想要本周的星期二约会.我怎么做

注意:过去的日期是动态的.它会在每个循环中改变.

Ste*_*eve 10

您可以使用枚举DayOfWeek

DayOfWeek枚举表示每周七天的日历中的星期几.此枚举中常量的值范围从DayOfWeek.Sunday到DayOfWeek.Saturday.如果强制转换为整数,则其值的范围从零(表示DayOfWeek.Sunday)到六(表示DayOfWeek.Saturday).

我们可以使用转换为整数来计算与同一工作日当前日期的差异

DateTime dtOld = new DateTime(2013,1,8);
int num = (int)dtOld.DayOfWeek;
int num2 = (int)DateTime.Today.DayOfWeek;
DateTime result = DateTime.Today.AddDays(num - num2);
Run Code Online (Sandbox Code Playgroud)

这似乎也适合创建扩展方法

public static class DateTimeExtensions
{
    public static DateTime EquivalentWeekDay(this DateTime dtOld)
    {
        int num = (int)dtOld.DayOfWeek;
        int num2 = (int)DateTime.Today.DayOfWeek;
        return DateTime.Today.AddDays(num - num2);
    }
}   
Run Code Online (Sandbox Code Playgroud)

现在你可以用它来调用它

DateTime weekDay = Convert.ToDateTime("01/08/2013").EquivalentWeekDay();
Run Code Online (Sandbox Code Playgroud)