我有DataGridView,我正在显示即将上映的电影的所有细节
现在,我必须给周末的电影打折。我从datagridview
获取日期string date = dataGridView1.CurrentRow.Cells["Date"].Value.ToString();
现在我必须将此日期转换为dayofweek,以便我可以按日期比较
date == (DayOfWeek.Saturday || DayOfWeek.Sunday)
我试图通过
找到dayofweekDateTime dateValue = new DateTime(date);
Console.WriteLine(dateValue.ToString("ddd"));
这段代码给了我这个错误
最佳重载方法匹配' System.DateTime.DateTime(long)'有一些无效的论点
答案 0 :(得分:3)
由于它是string
,您可以将其解析为DateTime
并检查它是DayOfWeek
property之类的;
var dateValue = DateTime.ParseExact(date, "M/d/yyyy", CultureInfo.InvariantCulture);
和
if(dateValue.DayOfWeek == DayOfWeek.Saturday || dateValue.DayOfWeek == DayOfWeek.Sunday)
老实说,我不明白为什么你使用ddd
specifier,因为它代表缩写名称,因为它使用你的CurrentCulture
设置,它可能不甚至生成他们的英文名字
在您的comment之后,看起来您的字符串也有时间部分,您只需更改格式部分;
var dateValue = DateTime.ParseExact(date, "M/d/yyyy hh:mm:ss tt",
CultureInfo.InvariantCulture);
答案 1 :(得分:0)
var date = "3/2/2016";
var dayOfWeek = DateTime.Parse(date).DayOfWeek;