我有一个win form c#SQL应用程序,它将日期存储在一列中,时间存储在另一列中。
我的表单上只有一个日期时间选择器,我想显示日期和时间值(来自两个单独的列)..
到目前为止,这就是我所做的
Datetime final = datetime. Parse exact (date + " " + time , "MM/dd/yyyy hh:mm tt", cultureinfo. Invariant culture);
但它会抛出"字符串未被识别为有效日期时间"上述行的例外。
答案 0 :(得分:2)
如果date
和time
是DateTime
变量,您可以将它们与日期算术结合使用:
DateTime date=...;
DateTime time = ...;
DateTime finalDate = date.Date + time.TimeOfDay;
如果它们是字符串,您可以将它们解析为DateTime和TimeSpan变量:
DateTime date=DateTime.ParseExact(dateString,dateFormat,CultureInfo.InvariantCulture);
TimeSpan time = TimeSpan.ParseExact(timeString,timeFormat,CultureInfo.InvariantCulture);
DateTime finalDate = date.Date + time;
这是可能的,因为您可以添加DateTime和TimeSpan值以获取新的DateTime值
答案 1 :(得分:0)
您可以使用TimeSpan.Parse
来解析
DateTime newDateTime = date.Add(TimeSpan.Parse(time));
答案 2 :(得分:-1)
string d = DateTime.Now.Date.ToString("dd/MM/yyyy");
string t = DateTime.Now.ToString("h:mm");
var ts = TimeSpan.ParseExact(t, @"h\:mm",CultureInfo.InvariantCulture);
DateTime result = DateTime.ParseExact(d, "dd/MM/yyyy", CultureInfo.InvariantCulture)+ts;
希望这有帮助, 感谢。