내 C # 프로그램에 다음 코드가 있습니다.
DateTime dateForButton = DateTime.Now;
dateForButton = dateForButton.AddDays(-1); // ERROR: un-representable DateTime
실행할 때마다 다음 오류가 발생합니다.
더하거나 빼는 값은 표현할 수없는 DateTime이됩니다.
매개 변수 이름 : 값
이 오류 메시지는 이전에 본 적이 없으며 왜 내가보고 있는지 이해하지 못합니다. 지금까지 읽은 답변에서 추가 작업에서 -1을 사용하여 일을 뺄 수 있다고 생각합니다. 그러나 내 질문에 따르면 이것이 내가하려는 일의 경우가 아닙니다.
답변
이 오류는 일반적으로 간격을 빼려고 DateTime.MinValue
하거나 무언가를 추가 DateTime.MaxValue
하려고 할 때 (또는이 최소-최대 간격 이외의 날짜를 인스턴스화하려고 할 때) 발생합니다. MinValue
어딘가에 할당하지 않습니까?
답변
DateTime dateForButton = DateTime.Now.AddDays(-1);
답변
넌 할 수있어:
DateTime.Today.AddDays(-1)
답변
다음 코드를 사용할 수 있습니다 :
dateForButton = dateForButton.Subtract(TimeSpan.FromDays(1));
답변
는 dateTime.AddDays(-1)
으로부터 언젠가 빼기하지 않습니다 dateTime
참조. 원래 참조에서 하루를 빼고 새 인스턴스를 반환합니다.
DateTime dateTime = DateTime.Now;
DateTime otherDateTime = dateTime.AddDays(-1);
답변
AddDays (-1) 사용에 문제가 있습니다 .
내 솔루션은 TimeSpan 입니다.
DateTime.Now - TimeSpan.FromDays(1);
답변
AddDays 메소드의 객체 (예 : 대상 변수)는 소스와 같을 수 없습니다.
대신에:
DateTime today = DateTime.Today;
today.AddDays(-7);
대신 이것을 시도하십시오 :
DateTime today = DateTime.Today;
DateTime sevenDaysEarlier = today.AddDays(-7);