데이터베이스에서 두 개의 날짜 시간 값을 검색 중입니다. 값이 검색되면 두 값의 차이가 필요합니다. 이를 위해 두 날짜 값의 차이를 저장하는 시간 범위 변수를 만듭니다.
TimeSpan? variable = datevalue1 - datevalue2;
이제 Timespan 변수에 저장된 차이를 시간 수로 표시해야합니다. TimeSpan.TotalHours를 언급 했지만 어떤 이유로 똑같이 적용 할 수 없습니다. 어떻게합니까? MVC 프로젝트에서 C #을 사용하고 있습니다. 차이 값을 시간 단위로 간단히 표시해야합니까?
편집 : 시간 범위가 nullable이므로 total hours 속성을 사용할 수 없습니다. 이제 TimeSpanVal.Value.TotalHours를 수행하여 사용할 수 있습니다 .
답변
나는 nullable 인TimeSpan
a TimeSpan?
를 선언 하지 않았기 때문에 혼란 스럽다고 생각합니다 . 널 입력이 필요하지 않은 물음표를 제거하거나을 사용하십시오 . TimeSpan
variable.Value.TotalHours
답변
당신은 또한보고 싶어 할 수 있습니다
var hours = (datevalue1 - datevalue2).TotalHours;
답변
이 샘플에서는 현재 시간과 현재 시간에 75 초가 추가 된 두 개의 datetime 객체를 만듭니다. 그런 다음 두 번째 DateTime 객체에서 .Subtract () 메서드를 호출합니다. TimeSpan 객체를 반환합니다. TimeSpan 객체를 가져 오면 TimeSpan의 속성을 사용하여 실제시, 분 및 초를 얻을 수 있습니다.
DateTime startTime = DateTime.Now;
DateTime endTime = DateTime.Now.AddSeconds( 75 );
TimeSpan span = endTime.Subtract ( startTime );
Console.WriteLine( "Time Difference (seconds): " + span.Seconds );
Console.WriteLine( "Time Difference (minutes): " + span.Minutes );
Console.WriteLine( "Time Difference (hours): " + span.Hours );
Console.WriteLine( "Time Difference (days): " + span.Days );
결과:
Time Difference (seconds): 15
Time Difference (minutes): 1
Time Difference (hours): 0
Time Difference (days): 0
답변
당신이 사용하는 이유가 Nullable
있습니까?
당신이 사용하려면 Nullable
다음을 쓸 수 있습니다 variable.Value.TotalHours
.
또는 다음과 같이 쓸 수도 있습니다 (datevalue1 - datevalue2).TotalHours
..
답변
C #에서 두 날짜를 빼는 또 다른 예는 다음과 같습니다.
if ( DateTime.Now.Subtract(Convert.ToDateTime(objDateValueFromDatabase.CreatedOn)).TotalHours > 24 )
{
...
}
답변
직원 급여 시간 또는 기타 정밀 요구 사항에 대한보다 정확한 방법 : :
decimal DeterminePreciseHours(DateTime startTimestamp, DateTime stopTimestamp)
{
var span = (stopTimestamp - startTimestamp).Value;
decimal total = (decimal)span.TotalMilliseconds / 60 / 60 / 1000;
return Math.Round(total, PRECISION_CONSTANT);
}
답변
var startTime = new TimeSpan(6, 0, 0); // 6:00 AM
var endTime = new TimeSpan(5, 30, 0); // 5:30 AM
var hours24 = new TimeSpan(24, 0, 0);
var difference = endTime.Subtract(startTime); // (-00:30:00)
difference = (difference.Duration() != difference) ? hours24.Subtract(difference.Duration()) : difference; // (23:30:00)
서로 다른 두 날짜를 비교하면 날짜 간 차이를 추가 할 수도 있습니다
new TimeSpan(24 * days, 0, 0)