我想解析日期:"wednesday 02 2000"
所以我得到的DateTime
对象将设置为2000年2月的第一个星期三。不幸的是,ParseExact
方法不起作用那样。这可以通过现有方法在C#中实现吗?
String s1 = "tuesday 02 2000";
String s2 = "wednesday 02 2000";
String format = "dddd MM yyyy";
Console.WriteLine(DateTime.ParseExact(s1, format, new CultureInfo("en-US")));//doesn't throw an exception because tuesday was 01.02.2000
Console.WriteLine(DateTime.ParseExact(s2, format, null));//throws an exception because wednsday was 02.02.2000
我知道这个问题的解决方案:将DateTime设置为1.02.2000,然后添加天数直到我到达周三,但我对该解决方案不满意。
while (date.DayOfWeek != day) {
date = date.AddDays(1);
}