110,536
社区成员
发帖
与我相关
我的任务
分享
Dictionary<string,int> dicW = new Dictionary<string,int>()
{
["日"] = 0,
["一"] = 1,
["二"] = 2,
["三"] = 3,
["四"] = 4,
["五"] = 5,
["六"] = 6,
};
string wDay = "一"; // for test
DateTime nowDt = DateTime.Now;
int w1 = (int) nowDt.DayOfWeek; // 今天星期几的数字
int w2 = dicW[wDay]; // 目标星期几的数字
int n = w1 > w2 ? 7 + w2 - w1 : w2 - w1; // 间隔天数
DateTime newDt = nowDt.AddDays(n); // 目标日期
Console.WriteLine(newDt);
public static DateTime GetDate(string weekDay) {
var dtNow = DateTime.Now.Date;
var old_weekDay = dtNow.DayOfWeek.GetHashCode();
int in_weekDay = 0;
switch (weekDay)
{
case "日":
in_weekDay = 0;
break;
case "六":
in_weekDay = 6;
break;
case "五":
in_weekDay = 5;
break;
case "四":
in_weekDay = 4;
break;
case "三":
in_weekDay = 3;
break;
case "二":
in_weekDay = 2;
break;
case "一":
in_weekDay = 1;
break;
}
if (old_weekDay == in_weekDay) return dtNow;
else {
int index = in_weekDay - old_weekDay;
if (index < 0) {
index = 7 - old_weekDay + in_weekDay;
}
dtNow = dtNow.AddDays(index);
}
return dtNow;
}
string dataWk = "日";
DateTime today = DateTime.Now;
for(int i = 0; i < 7; i++)
{
DateTime temp = today.AddDays(i);
if (temp.ToString("ddd").Contains(dataWk))
{
Tm.Value = temp;
break;
}
}
string s = DateTime.Now.ToString("yyyy-MM-dd") + " " + "星期一";//yyyy-MM-dd dddd
//string s2 = DateTime.Now.ToString("yyyy-MM-dd dddd");
Tm.Value = Convert.ToDateTime(s);