79

ある日付に日を追加したい。私はこのようなコードを持っています:

DateTime endDate = Convert.ToDateTime(this.txtStartDate.Text); 
Int64 addedDays = Convert.ToInt64(txtDaysSupp.Text); 
endDate.AddDays(addedDays); 
DateTime end = endDate; 
this.txtEndDate.Text = end.ToShortDateString();

しかし、このコードは機能しておらず、日数は追加されていません!私がしている愚かな間違いは何ですか?

4

7 に答える 7

128

DateTime は不変です。つまり、状態を変更することはできず、操作の結果を変数に代入する必要があります。

endDate = endDate.AddDays(addedDays);
于 2013-03-12T11:30:34.333 に答える
20

戻り値をキャッチする必要があります。

DateTime.AddDaysメソッドは、値がインスタンスの日時と追加された値の合計であるオブジェクトを返します。

endDate = endDate.AddDays(addedDays);
于 2013-03-12T11:28:35.967 に答える
12

AddDays()メソッドが new を返すため、DateTimeどこにも割り当てたり使用したりしていません。

使用例:

DateTime newDate = endDate.AddDays(2);
于 2013-03-12T11:28:46.020 に答える
8

次のように日付に日数を追加できます。

// add days to current **DateTime**
var addedDateTime = DateTime.Now.AddDays(10);

// add days to current **Date**
var addedDate = DateTime.Now.Date.AddDays(10);

// add days to any DateTime variable
var addedDateTime = anyDate.AddDay(10);
于 2018-12-19T10:25:31.060 に答える
7

AddDaysメソッドが結果として新しい Datetime を返すため、enddate を日付変数に割り当てます。

Datetime somedate=endDate.AddDays(2);
于 2013-03-12T11:33:55.587 に答える
3

なぜあなたは使用するのInt64ですか?AddDays-valuedoubleを追加する必要があります。AddDays.次に、 See hereの戻り値を使用する必要があります。

于 2013-03-12T11:30:15.450 に答える