DateTime変数があります:
DateTime date = DateTime.Now;
DateTime変数の時刻部分を変更したい。しかし、時間部分(hh:mm:ss)にアクセスしようとしたとき、これらのフィールドは読み取り専用です。
これらのプロパティを設定できませんか?
年、月、日、時間、分、秒を指定できるコンストラクターを使用します。
var dateNow = DateTime.Now;
var date = new DateTime(dateNow.Year, dateNow.Month, dateNow.Day, 4, 5, 6);
dateTimeオブジェクトを変更することはできません。不変です。ただし、たとえば次のように新しい値に設定できます。
var newDate = oldDate.Date + new TimeSpan(11, 30, 55);
date = new DateTime(date.year, date.month, date.day, HH, MM, SS);
私はあなたが何をしようとしているのか正確にはわかりませんが、あなたはいくつかの方法であなたが望むものに正確に日付/時刻を設定することができます...
12/25/2010 4:58 PMを指定するには、次を使用します
DateTime myDate = Convert.ToDateTime("2010-12-25 16:58:00");
または、12/25/2010(および任意のランダムな時間)などの既存のdatetimeコンストラクトがあり、それを12/25/2010 4:58 PMに設定する場合、次のようにできます。
DateTime myDate = ExistingTime.Date.AddHours(16).AddMinutes(58);
ExistingTime.Date
は真夜中の12/25になり、時間と分を追加するだけで目的の時間になります。
DateTimeは不変であるため、不可能です。同じ議論がここにあります: datetimeで時間を変更するには?