我正在尝试将date和minute添加到datepicker(wpf)的返回值中。我认为ParseExact()的日期格式参数有问题,但无法解决问题所在。
string[] timeAndDate = System.Text.RegularExpressions.Regex.Split(dPicker.SelectedDate.ToString(), " ");
string time = cmbTime.SelectedItem.ToString();
string tempDT = timeAndDate[0] + " " + time;
DateTime queryDT = DateTime.ParseExact(tempDT, "dd.MM.yyyy HH:mm", CultureInfo.InvariantCulture);
它不断返回minValue 01.01.0001等。这可能是关于这些时间点。我也尝试添加秒,但仍然没有运气。
Btw tempDT有点" 22.12.2016 20:30"
我的输入字符串是" 22.12.2016 20:30" 方法返回{01.01.0001 00:00:00}
我也这样做是为了从datepickers获取两个日期,并通过两个组合框获得两个小时变量,并制作两个日期时间对象将它们发送到sql。
似乎我没有把调试点放在正确的地方,但是无论如何,非常感谢,非常感谢!
答案 0 :(得分:1)
看起来你根本不需要解析日期;日期选择器已将所选日期公开为System.DateTime。您仍然需要解析时间,因为它由于某种原因被保存在组合框而不是TimePicker中。
而不是
string[] timeAndDate = System.Text.RegularExpressions.Regex.Split(dPicker.SelectedDate.ToString(), " ");
string time = cmbTime.SelectedItem.ToString();
string tempDT = timeAndDate[0] + " " + time;
DateTime queryDT = DateTime.ParseExact(tempDT, "dd.MM.yyyy HH:mm", CultureInfo.InvariantCulture);
为什么不写
var ts = TimeSpan.Parse(cmbTime.SelectedItem.ToString());
DateTime queryDT = dPicker.SelectedDate.Add(ts);