2012-01-13 106 views
10

我想從一個日期減去秒,例如:從當前日期減去秒獲得一個DateTime

可以說我有一個無符號整數1300秒,我想利用當前的日期和時間,從它減去1,300秒,最後:

01/13/2012 2:15 PM(格式並不重要)。

我曾嘗試:

DateTime dt = new DateTime(); 
dt.Add(new TimeSpan(0, 0, ui.OnlineTime)); 
Online.Text = dt.ToLongDateString(); 
+0

不能將時間跨度轉換爲日期。試着這樣想:我想**添加**(或刪除)1300秒的時間跨度到今天的日期。 – Groo 2012-01-13 23:36:50

+1

我嘗試過: DateTime dt = new DateTime(); dt.Add(new TimeSpan(0,0,ui.OnlineTime)); Online.Text = dt.ToLongDateString(); – Eric 2012-01-13 23:37:15

+3

你的問題是'DateTime'是不可變的。 'Add'返回一個新的DateTime。另外,使用'TimeSpan.FromSeconds'。 – SLaks 2012-01-13 23:41:56

回答

22

AddSeconds(double value)容易花費幾秒鐘正和負號:

[value參數表示]的數整秒和小數秒。值參數可以是負值也可以是正值。

因此,減去1300秒你需要添加-1300秒:

DateTime.Now.AddSeconds(-1300); 
3
DateTime.Now.AddSeconds(-1300) 

這是

方法的 DateTime
+0

我認爲你的評論是正確的。作者正在向他們的'DateTime'正確添加,問題是他們沒有保存他們調用的添加方法的返回值。所以,調用'AddSeconds()'實際上只是解決方案的一半。 – BACON 2012-01-13 23:47:08

+0

@BACON:我知道。我在發表評論之前發佈了這個答案。 – SLaks 2012-01-13 23:49:51

3

嘗試:

DateTime.Now.AddSeconds(-1300);