2016-04-29 178 views
0

如何在程序中獲得「DateTime」函數並將其轉換爲雙精度變量?我的目標是做了一段時間的操作類似將時間轉換爲雙精度

(可以想象,這個變量T1是一個靜態的「時間」已經寫在標籤) (現在想象t2是日期時間從計算機)

t1 = 03:40:11 
t2 = DateTime 

t3 = t2 (that would be DateTime converted) + t1 

如何將此DateTime變成雙倍,以便我可以執行此操作?

+0

爲什麼不這樣做呢?使用'DateTime.Parse'解析t1,並將所有操作作爲DateTime進行,這是一個有很多特定設計方法的類DateTime.Parse – Pikoh

+0

http://stackoverflow.com/questions/9106415/convert-date-time-with-miliseconds to-double-or-int – sbouaked

+1

@Matt這是因爲你想添加兩個'DateTime'(這沒有任何意義),但是你真正擁有的是'TimeSpan'('t1',你只需要解析它)和一個'DateTime'('t2'),可以添加... –

回答

2

您不需要將其轉換爲雙精度型。您可以直接在DateTime對象上執行算術運算:

var date = new DateTime(1944, 6, 6, 1, 10, 0); 
var time = TimeSpan.Parse("03:40:11"); 

var newDate = date.Add(time); 

Console.WriteLine(newDate); // Prints "06/06/1944 04:50:11" 
0

在原始TimeSpans上可以進行多種操作。但是,您可以使用它的TotalSeconds,TotalHours等propetries,它們是double。稍後,您可以通過TimeSpan.FromMinutes(m1 + m2 * 7.5)返回到TimeSpan世界。

0

沒有添加兩個DateTime的操作符。而且由於DateTime是絕對時間值,因此添加兩個絕對時間值會很有意義。

但你可以這麼做:

DateTime dt = DateTime.Now; 
TimeSpan ts = TimeSpan.Parse("12:00:00"); 
DateTime dt1 = dt + ts;    // Adding a TimeSpan to a DateTime 
TimeSpan ts1 = DateTime.Now - dt; // Substracting two DateTimes 
+0

我做了像RB和它的工作,順便說一句,我發現什麼是失蹤。 我忘了調用一個變量「DateTime」,該變量是「DateTime.Now」,我完成了它:var finalTime = dateTime.Add(timeSpan)。 – MattDAVM

0

我做喜歡RB和它的工作,順便說一句,我發現少了什麼我的程序做這種添加。 我忘了打電話給一個變量「日期時間」,這將是「DateTime.Now」我完成了它這樣做的:

  • 日期時間=我的變量,它從計算機
  • 時間跨度獲取時間 - 我的變量,有一個靜態的時間數

    var finalTime = dateTime.Add(timeSpan). 
    

謝謝你們的幫助!