2012-02-15 121 views
17

我有一個小問題,我似乎無法解決。我有兩個日期時間變量,一箇中的重要數據是年,月和日。另一個日期時間變量存儲小時,分鐘和秒。將兩個日期時間變量合併爲一個

造成這種混亂的原因是由於我從中拉取數據的數據庫,他們有兩個不同的列來存儲實際日期和時間。下面是代碼:

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

      DateTime newDateTime = new DateTime(); 

的newDateTime需要有完整的日期時間集,其中的日期部分是在日期變量和時間部分是時間變量。

如果任何人都可以幫幫忙我會很開心:)

回答

35

這應該這樣做:

newDateTime = date.Date + time.TimeOfDay; 
7

使用this constructor

DateTime newDateTime = new DateTime(date.Year, date.Month, date.Day, 
            time.Hour, time.Minute, time.Second); 
+0

由於這樣的事情,這也工作 – user1035217 2012-02-15 13:51:42

3
DateTime newDateTime = date.Date.Add(time.Time); 

Date財產不包括任何時間成分(指定日期的有效午夜),以及Time屬性返回只是時間成分爲TimeSpan

在這裏,我們將date變量的日期部分變爲午夜,並在其中添加time變量的時間分量,以獲取正確的日期和時間。

1

你可以做以下

TimeSpan timeSpan = time.TimeOfDay; 
     string s = string.Format("{0} {1}", date.Date.ToString("MM dd yyyy"), time.ToString()); 
     DateTime combinedDateTime = DateTime.Parse(s); 
相關問題