将两个日期时间变量合并为一个

时间:2012-02-15 13:36:01

标签: c# datetime

我有一点问题,我似乎无法解决。我有两个日期时间变量,一个中的重要数据是年,月和日。另一个日期时间变量存储小时,分钟和秒。

这种混乱的原因是由于我从中提取数据的数据库,它们有两个不同的列来存储实际的日期和时间。这是代码:

            DateTime date = Convert.ToDateTime(dTable.Rows[i][0]);
            DateTime time = Convert.ToDateTime(dTable.Rows[i][1]);

            DateTime newDateTime = new DateTime();

newDateTime需要设置完整的日期时间,其中日期分数在日期变量中,时间分数在时间变量中。

如果有人可以提供帮助,我将非常高兴:)

4 个答案:

答案 0 :(得分:42)

这应该做:

newDateTime = date.Date + time.TimeOfDay;

答案 1 :(得分:8)

使用this constructor

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);
相关问题