> 백엔드 개발 > C++ > DateTime 객체를 가장 가까운 X분으로 반올림하려면 어떻게 해야 합니까?

DateTime 객체를 가장 가까운 X분으로 반올림하려면 어떻게 해야 합니까?

Linda Hamilton
풀어 주다: 2025-01-06 19:35:41
원래의
991명이 탐색했습니다.

How Can I Round Up a DateTime Object to the Nearest X Minutes?

시간을 가장 가까운 X분으로 반올림

타임스탬프를 처리할 때 시간 값을 특정 간격으로 반올림해야 하는 경우가 종종 있습니다. 예를 들어, 특히 예약 또는 약속 시스템으로 작업할 때 시간을 가장 가까운 15분 단위로 반올림해야 할 수 있습니다.

이러한 요구를 해결하기 위해 간단한 반올림이 가능한 다용도 기능이 있습니다. DateTime 객체를 X분 단위로 표시합니다.

구현

다음 코드 스니펫은 앞서 언급한 내용을 보여줍니다. 함수:

DateTime RoundUp(DateTime dt, TimeSpan d)
{
    return new DateTime((dt.Ticks + d.Ticks - 1) / d.Ticks * d.Ticks, dt.Kind);
}
로그인 후 복사

사용법

이 기능을 사용하려면 반올림하려는 DateTime과 반올림할 간격(TimeSpan)을 제공하기만 하면 됩니다. 예를 들어, 가장 가까운 15분 간격으로 반올림하려면:

var dt1 = RoundUp(DateTime.Parse("2011-08-11 16:59"), TimeSpan.FromMinutes(15));
// dt1 == {11/08/2011 17:00:00}
로그인 후 복사

이렇게 하면 시간이 가장 가까운 15분 간격으로 반올림되어 위 예에서 17:00이 됩니다.

추가 예시

  • 가장 가까운 30자리에서 반올림 분:
var dt2 = RoundUp(DateTime.Parse("2011-08-11 17:11"), TimeSpan.FromMinutes(30));
// dt2 == {11/08/2011 17:30:00}
로그인 후 복사
  • 60분 단위로 반올림(1시간):
var dt3 = RoundUp(DateTime.Parse("2011-08-11 18:05"), TimeSpan.FromMinutes(60));
// dt3 == {11/08/2011 19:00:00}
로그인 후 복사

위 내용은 DateTime 객체를 가장 가까운 X분으로 반올림하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿