IT TIP

C #에서 DateTime에 시간 추가

itqueen 2020. 12. 15. 20:39
반응형

C #에서 DateTime에 시간 추가


달력과 시간이 포함 된 텍스트 상자가 있습니다. 둘의 조합 인 datetime을 만들고 싶습니다. 나는 시간과 분을보고 이것을 달력 DateTime에 추가함으로써 그것을 할 수 있다는 것을 알고 있지만 이것은 다소 지저분 해 보인다.

더 좋은 방법이 있습니까?


DateTime.Add () 메서드를 사용하여 날짜 에 시간을 추가 할 수 있습니다 .

DateTime date = DateTime.Now;
TimeSpan time = new TimeSpan(36, 0, 0, 0);
DateTime combined = date.Add(time);
Console.WriteLine("{0:dddd}", combined);

필요한 경우 String구문 분석 하여 시간 범위를 만들 수도 있습니다 .

또는 다른 컨트롤을 사용할 수도 있습니다. winforms, wpf 또는 asp.net을 사용 중인지 언급하지 않았지만 날짜 및 시간 선택을 모두 지원하는 다양한 날짜 및 시간 선택 컨트롤이 있습니다.


두 개의 DateTime 객체를 사용하는 경우 하나는 날짜를 저장하고 다른 하나는 시간을 저장하기 위해 다음을 수행 할 수 있습니다.

var date = new DateTime(2016,6,28);

var time = new DateTime(1,1,1,13,13,13);

var combinedDateTime = date.AddTicks(time.TimeOfDay.Ticks);

이에 대한 예는 여기 에서 찾을 수 있습니다.


텍스트 상자에 입력 한 날짜의 형식 (및 유효성 검사) 방법에 따라 다음을 수행 할 수 있습니다.

TimeSpan time;

if (TimeSpan.TryParse(textboxTime.Text, out time))
{
   // calendarDate is the DateTime value of the calendar control
   calendarDate = calendarDate.Add(time);
}
else
{
   // notify user about wrong date format
}

참고 TimeSpan.TryParse은 'HH : MM'형식 (선택 초) 문자열이 될 것으로 기대하고있다.


https://github.com/FluentDateTime/FluentDateTime 사용

DateTime dateTime = DateTime.Now;
DateTime combined = dateTime + 36.Hours();
Console.WriteLine(combined);

   DateTime newDateTime = dtReceived.Value.Date.Add(TimeSpan.Parse(dtReceivedTime.Value.ToShortTimeString()));

둘 다 결합하십시오. Date-Time-Picker는 시간 선택도 지원합니다.

Format-Property 및 CustomFormat-Property 만 변경하면됩니다.

참조 URL : https://stackoverflow.com/questions/2146296/adding-a-time-to-a-datetime-in-c-sharp

반응형