我有一点问题,我似乎无法解决。我有两个日期时间变量,一个中的重要数据是年,月和日。另一个日期时间变量存储小时,分钟和秒。
这种混乱的原因是由于我从中提取数据的数据库,它们有两个不同的列来存储实际的日期和时间。这是代码:
DateTime date = Convert.ToDateTime(dTable.Rows[i][0]);
DateTime time = Convert.ToDateTime(dTable.Rows[i][1]);
DateTime newDateTime = new DateTime();
newDateTime需要设置完整的日期时间,其中日期分数在日期变量中,时间分数在时间变量中。
如果有人可以提供帮助,我将非常高兴:)
答案 0 :(得分:42)
这应该做:
newDateTime = date.Date + time.TimeOfDay;
答案 1 :(得分:8)
DateTime newDateTime = new DateTime(date.Year, date.Month, date.Day,
time.Hour, time.Minute, time.Second);
答案 2 :(得分:3)
DateTime newDateTime = date.Date.Add(time.Time);
Date
属性排除任何时间组件(实际上是指定日期的午夜),Time
属性仅将时间组件返回为TimeSpan
。
在这里,我们将date
变量的日期部分设为午夜,然后将time
变量的时间部分添加到其中,以获取正确的日期和时间。
答案 3 :(得分:1)
你可以在下面做这样的事情
TimeSpan timeSpan = time.TimeOfDay;
string s = string.Format("{0} {1}", date.Date.ToString("MM dd yyyy"), time.ToString());
DateTime combinedDateTime = DateTime.Parse(s);