2012-01-13 10 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

+1

私は試しました: DateTime dt = new DateTime(); dt.Add(新しいTimeSpan(0、0、ui.OnlineTime)); Online.Text = dt.ToLongDateString(); – Eric

+3

あなたの問題は、 'DateTime'は不変であるということです。 'Add'は新しいDateTimeを返します。また、 'TimeSpan.FromSeconds'を使用してください。 – SLaks

答えて

22

AddSeconds(double value)方法は簡単だったこと秒の正と負の数を取ります。

[valueパラメータが表す]数全体と小秒のvalueパラメータは負または正の値を取ることができます。したがって

、あなたが-1300秒を追加する必要が1300秒減算する:

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

DateTime

+0

あなたのコメントは正しいと思います。作者が正しく 'DateTime'に追加していますが、問題は彼らが呼び出している追加メソッドの戻り値を保存していないということです。だから、 'AddSeconds()'を呼び出すことは実際には解決の半分にすぎません。 – BACON

+0

@BACON:私は知っています。私は彼のコメントの前にこの答えを掲載しました。 – SLaks

3

試してみてください。

DateTime.Now.AddSeconds(-1300); 
関連する問題