今日の日付で異なる Time コンポーネントを持つ新しい DateTime オブジェクトを作成したいと考えています。これが私が現在やっている方法です
DateTime oddStart = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day,
0,0,0);
見栄えの良い方法はありますか?
var dateTime = DateTime.Now.Date;
また
var dateTime = DateTime.Today;
これらは両方とも、時間コンポーネントをすべてゼロに設定して今日の日付を返します。
ゼロ以外のカスタム時間コンポーネントが必要な場合は、次の操作を実行できます。
var dateTime = DateTime.Today.Add(new TimeSpan(1, 2, 3)); // 18/09/2013 01:02:03
これがコンストラクターの目的ですがDateTime.Now
、別のパラメーターとしてキャプチャします。
var now = DateTime.Now;
var myDate = new DateTime(now.Year, now.Month, now.Day, 0, 0, 0);
そうしないと、引数を指定する間に値が変わる可能性があります。
時間がゼロの日付だけが必要な場合は、 に.Date
プロパティがありDateTime
ます。
それにはさまざまな代替方法がありますが、どれが他の方法よりも優れているとまでは言えません。最も読みやすいものは何でも、最初に目指すのは良いことです.