C\#시간 차 를 계산 하 는 소수 문제 해결
startTime = DateTime.Now; -----------slExecutedTime.Text = (DateTime.Now - startTime).ToString();실행 결과:실 행 됨:00:00:03.1234434(뒤에 작은 숫자 가 많이 나 올 것 입 니 다)원 하 는 실행 결과:실 행 됨:00:00:03
--------------------------------------------------------------------------------
해결 방안 1(추천):
TimeSpan 관련 속성:
Add: TimeSpan 。
Days: TimeSpan 。
Duration: TimeSpan 。
Hours: TimeSpan
Milliseconds: TimeSpan 。
Minutes: TimeSpan 。
Negate: 。
Seconds: TimeSpan 。
Subtract: TimeSpan 。
Ticks: TimeSpan tick 。
TotalDays: TimeSpan 。
TotalHours: TimeSpan 。
TotalMilliseconds: TimeSpan 。
TotalMinutes: TimeSpan 。
TotalSeconds: TimeSpan 。
/// <summary>
///
/// </summary>
/// <param name="dateBegin"> </param>
/// <param name="dateEnd"> </param>
/// <returns> ( ) , : 0.00239 </returns>
public static string ExecDateDiff(DateTime dateBegin, DateTime dateEnd)
{
TimeSpan ts1 = new TimeSpan(dateBegin.Ticks);
TimeSpan ts2 = new TimeSpan(dateEnd.Ticks);
TimeSpan ts3 = ts1.Subtract(ts2).Duration();
//
return ts3.TotalMilliseconds.ToString();
}
이것 은 가장 기본 적 인 것 입 니 다.밀리초 수 를 얻 었 습 니 다.당신 이 단순히 당신 을 필요 로 하 는 그런 형식 이 라면 10 위 권 안에 들 수 있 습 니 다.ts3.ToString("g") 0:00:07.171ts3.ToString("c") 00:00:07.1710000ts3.ToString("G") 0:00:00:07.1710000 세 가지 형식 을 선택 할 수 있 습 니 다.저 는 사실 한 가지 가 필요 할 때 캡 처 한 시험 을 사용 하 는 것 이 빠 를 것 을 권장 합 니 다.예 를 들 어
ts3.ToString("g").Substring(0,8) 0:00:07.1
ts3.ToString("c").Substring(0,8) 00:00:07
ts3.ToString("G").Substring(0,8) 0:00:00
방안 2:비교적 번거롭다
#region
public static string DateDiff(DateTime DateTime1, DateTime DateTime2)
{
string dateDiff = null;
try
{
TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
string hours = ts.Hours.ToString(), minutes = ts.Minutes.ToString(),seconds = ts.Seconds.ToString();
if(ts.Hours<10)
{
hours = "0" + ts.Hours.ToString();
}
if (ts.Minutes<10)
{
minutes = "0" + ts.Minutes.ToString();
}
if(ts.Seconds<10)
{
seconds = "0" + ts.Seconds.ToString();
}
dateDiff = hours + ":"+ minutes + ":"+ seconds;
}
catch
{
}
return dateDiff;
}
#endregion
출처:http://www.cnblogs.com/hongfei/archive/2013/03/11/2953366.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.