用户只需输入星期几。例如用户输入星期五。我需要找到指定日期的确切日期,格式将类似于dd.MM.yyyy
。
但我不知道我是怎么做的
示例:
label1 - Friday (entered by user)
label2 - 08.06.2012 (found by system)
label1
只是一个字符串(就在星期五)。它来自webservice作为字符串变量。我需要找到日期并与今天进行比较,如果它不等于或小于今天我给出即将到来的星期五的日期,否则我给出星期五的星期日。
答案 0 :(得分:2)
“如果它不等于或小于今天,我会给出确切的日期,否则我会给下周的日期。”
假设这意味着您在将来的某一天返回下一个日期,唯一的例外是今天是给定的星期几。
public static DateTime getNextWeekDaysDate(String englWeekDate)
{
var desired = (DayOfWeek)Enum.Parse(typeof(DayOfWeek), englWeekDate);
var current = DateTime.Today.DayOfWeek;
int c = (int)current;
int d = (int)desired;
int n = (7 - c + d);
return DateTime.Today.AddDays((n >= 7) ? n % 7 : n);
}
我们来测试一下:
DateTime Monday = getNextWeekDaysDate("Monday"); // 2012-06-11
DateTime Tuesday = getNextWeekDaysDate("Tuesday"); // 2012-06-05 <-- !!! today
DateTime Wednesday= getNextWeekDaysDate("Wednesday"); // 2012-06-06
DateTime Thursday = getNextWeekDaysDate("Thursday"); // 2012-06-07
DateTime Friday = getNextWeekDaysDate("Friday"); // 2012-06-08
答案 1 :(得分:0)
答案 2 :(得分:0)
使用DateTime.now获取当前时间
当天是DateTime.Now.DayOfWeek
然后获取用户输入的星期几
然后你的结果是DateTime.now.AddDays(NowDayOfWeek - UserDayOfWeek)。