2

これと重複した投稿がたくさん見られましたが、私にとっては別のものです。

私は Datetime オブジェクトを持っていて、時間の部分を取得してそれに別の時間を割り当てます。それを割り当てようとすると、それらのエラーが発生します。

ここで newStartDateGroup は DateTime オブジェクトです ここで OpenTime は TimeSpan です

プロパティまたはインデクサーを割り当てることはできません — 読み取り専用です

else if(newStartDateGroup.TimeOfDay < i.OpenTime && newEndDateGroup.TimeOfDay > i.CloseTime) // < >
 {
        newStartDateGroup.TimeOfDay = i.OpenTime;
4

3 に答える 3

7

DateTime.NET のstructimmutableであるため、その値を変更する代わりに、新しい値を作成する必要があります。

newStartDateGroup = newStartDateGroup.Date.Add(i.OpenTime);
于 2013-08-20T05:06:34.710 に答える
3

新しいDateTimeインスタンスのみを作成できます。

表示されたコードによると、時刻のみを設定したいと考えています。
これはそれを行う必要があります:

newStartDateGroup = DateTime.Today.Add(i.OpenTime);

DateTime.Todayは今日の 00:00 です。

于 2013-08-20T05:05:15.630 に答える
1

時、分、秒を手動で割り当てるだけです。

DateTime temp = DateTime(newStartDateGroup.Year, newStartDateGroup.Month, newStartDateGroup.Day, i.OpenTime.Hours, i.OpenTime.Minutes, i.OpenTime.Seconds);

newStartDateGroup = temp;
于 2013-08-20T05:07:50.220 に答える