DateTime
変数「s」の時間だけを変更するにはどうすればよいですか?
DateTime s = some datetime;
ベストアンサー1
DateTime の値は変更できません。不変です。ただし、変数を変更して新しい値を設定することはできます。時間だけを変更する最も簡単な方法は、関連する時間で TimeSpan を作成し、DateTime.Date プロパティを使用することです。
DateTime s = ...;
TimeSpan ts = new TimeSpan(10, 30, 0);
s = s.Date + ts;
s
同じ日付ですが、午前 10 時 30 分になります。
DateTime
夏時間の移行を無視し、両方向で「素朴な」グレゴリオ暦を表すことに注意してください(DateTime
ドキュメント) 。唯一の例外は.Now
とです.Today
。これらは、発生したイベントを反映する現在のシステム時刻を取得します。
これが私が野田タイムプロジェクトは、現在、本番環境に対応しています。そのZonedDateTime
型は「認識」されていますtz
データベースエントリにリンクすることで。