我有专栏名称"会话"在表中存储数据为" 2010-2014" etc格式,我从两个日期时间选择器得到这个字符串:
string dat = dateTimePicker1.Text + "-" + dateTimePicker2.Text;
我将datetimepicker属性设置为Year,因此当我选择日期时它给了我结果 " 2010-2014"
在插入中,这是有效的,但是对于更新,我需要将此值加载到日期时间选择器,因为它在datetimepicker1文本中的e-g必须是2010,而datetimepicker2文本必须是2014年,根据我的示例。
我在google上做了很多搜索,并将其作为:
string str = row.Cells[5].Value.ToString();
string first = str.Substring(0, str.IndexOf('-'));
string second = str.Substring(str.IndexOf('-') + 1);
dateTimePicker1.Text = Convert.ToDateTime(first).ToString();
dateTimePicker2.Text = Convert.ToDateTime(second).ToString();
但它引发了一个错误:
String was not recognized as a valid DateTime
我正在使用c#windows app开发。
任何人都知道我在哪里错过了什么? 提前谢谢..
答案 0 :(得分:0)
您需要更改此
dateTimePicker1.Text = Convert.ToDateTime(first).ToString();
到
dateTimePicker1.SelectedDate = Convert.ToDateTime(first);
您转换为日期,然后再次返回字符串!!
老实说,你最好存储两个日期(开始和结束),而不仅仅是几年,因为日期是由日/月/年组成的,我觉得你可能真的需要做以下几点使它真正起作用......
dateTimePicker1.SelectedDate = Convert.ToDateTime("01/01/" + first);
...这样你最终会得到一个可以从字符串转换的有效日期(01/01/2015)。