Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从字符串中存储的日期查找dayofweek?_C#_Datetime_Datagridview - Fatal编程技术网

C# 如何从字符串中存储的日期查找dayofweek?

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

我有DataGridView,在那里我可以显示即将上映电影的所有细节

从现在起,我不得不给周末的电影打折。我正在从datagridview获取日期

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;