다른 응용 프로그램의 경우 모듈러스를 사용하지 않을 수 있습니다. 특히 경과 시간을 계산하는 경우 자정에 랩 어라운드로 인해 어려움이 있을 수 있습니다. 이러한 어려움은 해결할 수 있습니다., 내가 알고 있는 가장 좋은 예는 리눅스 커널에서 리누스 토발드의 라인 주위 카운터 랩을 처리. 다음 예제에서는 GetSystemTime 및 GetLocalTime 함수에서 검색한 시간 값 간의 차이점을 보여 줍니다. 시대는 특정 시대의 기원으로 선택된 시간의 순간이다. 예를 들어 서구 기독교 국가에서 는 예수 태어난 날 0일부터 시간 시대가 시작됩니다 (태어난 것으로 추정됩니다). 또 다른 예는 12 년 동안 사용 된 프랑스 공화당 달력입니다. 이 시대는 1792년 9월 22일 제1공화국이 선포되고 군주제를 폐지한 공화당 시대의 시작이었다. 컴퓨터도 자신의 시대를 가지고있다. 가장 인기있는 중 하나는 유닉스 시간입니다. 유닉스 시대는 1970년 1월 1일 00:00:00 UTC(또는 1970-01-01T00:00:00Z ISO 8601)입니다. 컴퓨터의 날짜와 시간은 해당 컴퓨터 또는 플랫폼에 대해 정의된 시대 이후 경과된 초 또는 클럭 틱 수에 따라 결정됩니다.

예제 형식은 “YYYY-MM-DD HH:MM:SS입니다. MMM” 이 예제에서는 세 가지 가능한 기술을 사용합니다. 그런 다음 필요한 경우 이전이 채우는 SYSTEMTIME 구조에서 SystemTimeToFileTime을 호출할 수 있습니다. FILETIME은 시대 이후 100 나노초 간격의 64 비트 카운트이므로 산술에 더 적합합니다. SYSTEMTIME은 모든 예상 필드(연도, 월, 일, 시간 등)가 밀리초까지 있는 구조입니다. 예를 들어 ” 자정 이후 경과된 밀리초 수”를 알고 싶다면 두 개의 FILETIME 구조(현재 시간 동안 하나, 적절한 필드를 비우고 동일한 SYSTEMTIME을 변환하여 얻은 구조)를 빼고 10의 적절한 힘은 아마도 가장 간단한 사용 가능한 접근 방식일 것입니다. 코드 예제는 이 순간까지 Windows API 시대에서 경과된 100나노초 간격의 수를 계산합니다. 여기에 내가 입력으로 SYSTEMTIME을 가지고 “월 10월 13 일 22:21:12 2014″와 같은 주어진 날짜 / 시간 형식으로 스트림에 출력하는 또 다른 예입니다. 형식 문자열과 SYSTEMTIME에서 생성되는 TimeFormat이라는 클래스를 만들고 왼쪽의 ostream 개체를 인식할 수 있는 오버로드된 삽입() 연산자와 오른쪽의 TimeFormat 개체를 통해 원하는 출력 시간 형식을 출력합니다.

오버로드 된 TimeFormat 은 TimeFormatobject 내에서 개인 데이터에 액세스 할 수 있도록 : 시스템 시간은 인간의 이해에 더 적합한 형태인 달력 시간으로 변환 할 수 있습니다. 예를 들어, 유닉스 시스템 시간 100000000000초는 2001년 9월 9일 01:46:40 UT의 달력 시간으로 변환됩니다. 이러한 변환을 처리하는 라이브러리 서브루틴은 시간대, 일광 절약 시간제(DST), 윤초 및 사용자의 로캘 설정에 대한 조정을 처리할 수도 있습니다. 일반적으로 캘린더 시간을 시스템 시간으로 변환하는 라이브러리 루틴도 제공됩니다. 시스템 시간은 시스템 클럭에 의해 측정되며, 일반적으로 epoch라고 하는 임의의 시작 날짜 이후 발생한 틱 수의 간단한 개수로 구현됩니다.