IT TIP

C #의 날짜 시간 추가 일

itqueen 2020. 12. 28. 22:21
반응형

C #의 날짜 시간 추가 일


어떤 날짜에 날짜를 추가하고 싶습니다. 다음과 같은 코드가 있습니다.

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

그러나이 코드는 작동하지 않으며, 요일이 추가되지 않습니다! 내가하는 어리석은 실수는 무엇입니까?


DateTime은 변경할 수 없습니다. 즉, 상태를 변경할 수 없으며 작업 결과를 변수에 할당해야합니다.

endDate = endDate.AddDays(addedDays);

반환 값을 잡아야합니다.

DateTime.AddDays의 방법은 값이 날짜와 시간 인스턴스 및 부가가치의 합이다 개체를 반환합니다.

endDate = endDate.AddDays(addedDays);

AddDays()메서드가 new를 반환 하기 때문에 DateTime할당하거나 어디에도 사용하지 않습니다.

사용 예 :

DateTime newDate = endDate.AddDays(2);

AddDays메서드가 결과로 새 Datetime을 반환 하므로 종료 날짜를 일부 날짜 변수에 할당합니다 .

Datetime somedate=endDate.AddDays(2);

이것을 사용하십시오 :

DateTime dateTime =  DateTime.Now;
DateTime? newDateTime = null;
TimeSpan numberOfDays = new TimeSpan(2, 0, 0, 0, 0);
newDateTime = dateTime.Add(numberOfDays);

왜 사용 Int64합니까? 추가 AddDays할- double값을 요구합니다 . 그런 다음 AddDays.See here 의 반환 값을 사용해야합니다 .


다음과 같이 날짜에 날짜를 추가 할 수 있습니다.

// 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);

참조 URL : https://stackoverflow.com/questions/15359887/datetime-in-c-sharp-add-days

반응형