C #을 사용하여 두 DateTime 객체의 시간 차이를 어떻게 알 수 있습니까?
DateTime
C #을 사용하여 두 객체 의 시간 차이를 어떻게 알 수 있습니까?
다음 예제는이를 수행하는 방법을 보여줍니다.
DateTime a = new DateTime(2010, 05, 12, 13, 15, 00);
DateTime b = new DateTime(2010, 05, 12, 13, 45, 00);
Console.WriteLine(b.Subtract(a).TotalMinutes);
실행하면 날짜 / 시간간에 30 분의 차이가 있으므로 "30"이 인쇄됩니다.
결과 는 다른 유용한 속성을 제공 DateTime.Subtract(DateTime x)
하는 TimeSpan 객체 입니다.
당신은 TimeSpan
구조체를 원합니다 :
TimeSpan diff = dateTime1 - dateTime2;
TimeSpan 객체는 양수 또는 음수 일,시, 분, 초 및 초 단위로 측정되는 시간 간격 (시간 또는 경과 시간)을 나타냅니다. TimeSpan 구조는 또한 시간이 특정 날짜와 관련이없는 경우에만 시간을 나타내는 데 사용될 수 있습니다.
이 구조에서 일,시, 분, 초 및 밀리 초를 되찾기위한 다양한 방법이 있습니다.
차이점에 관심이 있다면 :
TimeSpan diff = Math.Abs(dateTime1 - dateTime2);
순서에 관계없이 시간 사이에 긍정적 인 차이를 줄 것입니다.
시간 구성 요소를 얻었지만 자정별로 시간을 나눌 수있는 경우 실제 차이를 얻으려면 범위에 24 시간을 추가해야합니다.
TimeSpan diff = dateTime1 - dateTime2;
if (diff < 0)
{
diff = diff + TimeSpan.FromDays(1);
}
필요한 것은 TimeSpan 을 반환하는 DateTime 클래스 Subtract 메서드 를 사용하는 것 입니다.
var dateOne = DateTime.Now;
var dateTwo = DateTime.Now.AddMinutes(-5);
var diff = dateTwo.Subtract(dateOne);
var res = String.Format("{0}:{1}:{2}", diff.Hours,diff.Minutes,diff.Seconds));
내가 일반적으로하는 방법은 두 개의 DateTime을 빼는 것이므로 diff를 알려주는 TimeSpan을 얻습니다.
예를 들면 다음과 같습니다.
DateTime start = DateTime.Now;
// Do some work
TimeSpan timeDiff = DateTime.Now - start;
timeDiff.TotalMilliseconds;
둘 다 UTC 날짜-시간 값이면 할 수 있습니다 TimeSpan diff = dateTime1 - dateTime2;
그렇지 않으면 가능한 모든 경우에 정답을 얻을 수있는 기회는 0입니다.
var startDate = new DateTime(2007, 3, 24);
var endDate = new DateTime(2009, 6, 26);
var dateDiff = endDate.Subtract(startDate);
var date = string.Format("{0} years {1} months {2} days", (int)dateDiff.TotalDays / 365,
(int)(dateDiff.TotalDays % 365) / 30, (int)(dateDiff.TotalDays % 365) / 30);
Console.WriteLine(date);
TimeSpan 을 사용해야합니다 . 샘플 코드는 다음과 같습니다.
TimeSpan sincelast = TimeSpan.FromTicks(DateTime.Now.Ticks - LastUpdate.Ticks);
private void button1_Click(object sender, EventArgs e)
{
TimeSpan timespan;
timespan = dateTimePicker2.Value - dateTimePicker1.Value;
int timeDifference = timespan.Days;
MessageBox.Show(timeDifference.ToString());
}
다음과 같은 방법으로 두 날짜 / 시간 개체 간의 차이를 얻을 수 있습니다. DateTime 오브젝트 dt1 및 dt2가 있고 코드가 있다고 가정하십시오.
TimeSpan diff = dt2.Subtract(dt1);
'Programing' 카테고리의 다른 글
git을 사용하여 모든 분기에서 문자열을 어떻게 검색 할 수 있습니까? (0) | 2020.06.19 |
---|---|
dicts 목록에서 값 목록 가져 오기 (0) | 2020.06.19 |
뷰 홀더가있는 Android Recyclerview 및 ListView (0) | 2020.06.19 |
권한은 ... 프로파일을 지정했습니다. (0) | 2020.06.19 |
쉘 스크립트에 명령이 있는지 확인하는 방법? (0) | 2020.06.19 |