데이터베이스에 저장 한 시간 간격을 2 번 계산하고 싶습니다. 문자 그대로 두 값 사이의 시간 길이를 알고 싶습니다.C#에서 누적 시간을 어떻게 계산합니까?
14시 10분 20초에서 10시 5분 15초까지 = 2시 5분 5초
그래서 결과는 2시 5분 5초이 될 것입니다.
어떻게 C#을 사용하여이 작업을 수행 할 수 있습니까?
14:10:20은 내 데이터베이스에 저장 한 형식입니다.
데이터베이스에 저장 한 시간 간격을 2 번 계산하고 싶습니다. 문자 그대로 두 값 사이의 시간 길이를 알고 싶습니다.C#에서 누적 시간을 어떻게 계산합니까?
14시 10분 20초에서 10시 5분 15초까지 = 2시 5분 5초
그래서 결과는 2시 5분 5초이 될 것입니다.
어떻게 C#을 사용하여이 작업을 수행 할 수 있습니까?
14:10:20은 내 데이터베이스에 저장 한 형식입니다.
두 시간 값을 TimeSpan 변수로 읽은 다음 큰 TimeSpan 변수에서 .Subtract()
을 수행하여 TimeSpan 결과를 얻습니다.
예. TimeSpan difference = t1.Subtract(t2);
.
DateTime 개체는 "-"연산자를 지원하므로 시간을 읽고 그러한 개체로 시간을 빼기 만하면됩니다. 테스트하려면이 체크 아웃 :
DateTime then = DateTime.Now;
Thread.Sleep(500);
DateTime now = DateTime.Now;
TimeSpan time = now - then;
MessageBox.Show(time.ToString());
첫 번째 단계는 .NET DateTime
구조체로 데이터베이스에 저장된 timevalues를 얻을 수있을 것입니다.
데이터베이스에 SQL-DateTime 값으로 저장 한 경우 DateTime
으로 직접 가져올 수 있습니다.
SQLCommand getTimeCommand = new SQLCommand("SELECT time FROM table", dbConnection);
SQLDataReader myReader = getTimeCommand.ExecuteReader();
while (myReader.Read())
{
DateTime time = myReader.GetDateTime(0);
}
myReader.Close();
구현 내용이 다를 수 있습니다. MSDN 라이브러리의 ADO.NET 설명서를 참조하십시오.
당신은 이미 당신이 정적 메서드
DateTime.Parse
또는 ParseExact
를 사용하는 당신이해야 할 수도 있습니다 귀하의 경우에는
DateTime.ParseExact
를 사용하여
DateTime
에 문자열을 구문 분석 할 수있는 시간을 나타내는 문자열을 가지고 있다면, 이 문자열은 문자열을 읽는 방법을 정의하는 형식 문자열로 제공됩니다. 예제는 MSDN 라이브러리에서 찾아야합니다.
.NET의 지속 시간은 TimeSpan
구조체 내에 저장됩니다. 날짜 시간까지의 경과 시간을 얻는 것은 쉽다 :
DateTime time1, time2; //filled with your timevalues from the db
TimeSpan elapsed = d2 - d1;
elapsed
이제 두 DateTimes
사이의 시간 범위를 포함한다. 구조체가 TimeSpan
에 액세스하는 데 필요한 여러 멤버가 있습니다. 필요한 항목을 찾으려면 MSDN-Library를 살펴보십시오.
멋지게 선물! – xan
t1 - t2는 동일하게 작동하며 눈이 더 쉬울 것입니다. –
나는 과잉을 좋아한다 –