C# 如何从字符串中存储的日期查找dayofweek?
我有DataGridView,在那里我可以显示即将上映电影的所有细节 从现在起,我不得不给周末的电影打折。我正在从datagridview获取日期C# 如何从字符串中存储的日期查找dayofweek?,c#,datetime,datagridview,C#,Datetime,Datagridview,我有DataGridView,在那里我可以显示即将上映电影的所有细节 从现在起,我不得不给周末的电影打折。我正在从datagridview获取日期 string date = dataGridView1.CurrentRow.Cells["Date"].Value.ToString(); 现在我必须把这个日期转换成星期几,这样我就可以逐天比较星期几 date == (DayOfWeek.Saturday || DayOfWeek.Sunday) 我试着在附近找到dayofweek Date
string date = dataGridView1.CurrentRow.Cells["Date"].Value.ToString();
现在我必须把这个日期转换成星期几,这样我就可以逐天比较星期几
date == (DayOfWeek.Saturday || DayOfWeek.Sunday)
我试着在附近找到dayofweek
DateTime dateValue = new DateTime(date);
Console.WriteLine(dateValue.ToString("ddd"));
这个代码给了我这个错误
与“System.DateTime.DateTime(long)”匹配的最佳重载方法具有一些无效参数
由于它是
字符串
,您可以将其解析为日期时间
,并检查它是否如下所示:
及
我真的不明白你为什么要用它,因为它代表了缩写的名字,而且它使用了你的CurrentCulture
设置,它甚至可能不会生成他们的英文名字
在您的字符串之后,看起来您的字符串也有时间部分,您只需更改格式部分即可
var dateValue = DateTime.ParseExact(date, "M/d/yyyy hh:mm:ss tt",
CultureInfo.InvariantCulture);
由于它是
字符串
,您可以将其解析为日期时间
,并检查它是否如下所示:
及
我真的不明白你为什么要用它,因为它代表了缩写的名字,而且它使用了你的CurrentCulture
设置,它甚至可能不会生成他们的英文名字
在您的字符串之后,看起来您的字符串也有时间部分,您只需更改格式部分即可
var dateValue = DateTime.ParseExact(date, "M/d/yyyy hh:mm:ss tt",
CultureInfo.InvariantCulture);
确切地说,
date的值是多少?date的值是我从datagridview中选择的日期,即2016年3月2日我想知道2016年3月2日是星期几?顺便说一下,你的错误消息真的很奇怪DateTime
结构甚至没有名为DateTime
的方法,该方法将long
作为参数。我强烈怀疑此错误来自您尚未向我们展示的其他地方。date
的值到底是多少?date的值是我从datagridview中选择的日期,即2016年3月2日。我想知道2016年3月2日是星期几?顺便说一句,您的错误消息真的很奇怪DateTime
结构甚至没有名为DateTime
的方法,该方法将long
作为参数。我强烈怀疑此错误来自您尚未向我们展示的其他地方。我不建议使用这种方式,因为您的代码可能会在2月3日解析此字符串,或者根本不会解析它。最好使用ParseExact
或(或者TryParseExact
,如果格式可以更改)和特定的区域性设置。我不推荐这种方式,因为您的代码可能会将此字符串解析为2月3日,或者根本不会解析它。最好使用ParseExact
或(或TryParseExact
,如果格式可以更改)和特定的区域性设置。var dateValue=DateTime.ParseExact(日期,“M/d/yyyy”,CultureInfo.InvariantCulture)这给了我一个错误“字符串未被识别为有效的日期时间”,因为我从datagridview获取的日期类似于3/2/2016 12:00:00 am,即使datagridview中显示的日期是3/2/2016,没有时间。字符串日期必须只有日期而没有时间吗?@NavazBaig如果是这样,您只需将格式更改为M/d/yyyy hh:mm:ss tt
。更新了我的答案。看一看.var dateValue=DateTime.ParseExact(日期,“M/d/yyyy”,CultureInfo.InvariantCulture)这给我带来了“字符串未被识别为有效日期时间”的错误,因为我从datagridview获取的日期类似于2016年2月3日凌晨12:00,即使datagridview中显示的日期是2016年2月3日,但没有时间。字符串日期必须只有日期而没有时间吗?@NavazBaig如果是这样,您只需将格式更改为M/d/yyyy hh:mm:ss tt
。更新了我的答案。看一看。
var dateValue = DateTime.ParseExact(date, "M/d/yyyy hh:mm:ss tt",
CultureInfo.InvariantCulture);
var date = "3/2/2016";
var dayOfWeek = DateTime.Parse(date).DayOfWeek;