c# datetime 差分 - TimeSpanからDateTimeへの変換




5 Answers

選択した回答は厳密に正しいものですが、同様の問題があったため、OPがここで得ようとしていることを理解していると思います。

私はグリッドコントロール(単にhh:mm)で表示したいTimeSpanを持っていましたが、グリッドはDateSpanを理解するようには見えませんでした。 OPには同様のシナリオがありますが、TimeSpanだけが関連する部分ですが、DateTime参照ポイントを追加する必要性は考慮されていません。

したがって、上に示したように、DateTime.MinValueを追加しただけです(日付は変わりません)。その後、結果の日付の時間部分としてタイムスパンをレンダリングするとグリッドによって無視されます。

c# timespan 比較

私はTimespanをDatetimeに変換したい。 これどうやってするの?

私はGoogleで1つの方法を見つけました:

DateTime dt;
TimeSpan ts="XXX";

//We can covnert 'ts' to 'dt' like this:

dt= Convert.ToDateTime(ts.ToString());

これを行う他の方法はありますか?




これを実現するために、新しいDateTimeにTimeSpanを追加することができます。

TimeSpan ts="XXX";
DateTime dt = new DateTime() + ts;

しかし、前述したように、有効な開始日がないと厳密には論理的ではありません。 私は時間の面だけを必要とするユースケースに遭遇しました。 ロジックが正しい限り、正常に動作します。




var StartTime = new DateTime(item.StartTime.Ticks);



簡単な方法は、ダニを使用する:

new DateTime((DateTime.Now - DateTime.Now.AddHours(-1.55)).Ticks).ToString("HH:mm:ss:fff")

この関数は、日付を(曜日/月/年なし)




まず、タイムスパンを文字列に変換し、次にDateTimeに変換してから文字列に戻します。

Convert.ToDateTime(timespan.SelectedTime.ToString()).ToShortTimeString();



Related