위치 독립적 인 배 향상

클래스 부스트 :: posix_time ::의 Ptime은 위치 독립적 인 시간을 defindes. 이 유형 부스트 :: 그레고리 :: 날짜를 사용뿐만 아니라, 시간을 저장합니다.

1.의 Ptime

사용법 #include <부스트 / DATE_TIME / posix_time / posix_time.hpp> 
사용법 #include <부스트 / DATE_TIME / 그레고리 / gregorian.hpp> 
사용법 #include <iostream> 사용하여 네임 스페이스 부스트 :: posix_time을;
사용하는 네임 스페이스 향상을 :: 그레고리; INT ) (주 
{ 
  의 Ptime의 PT (날짜 ( 2014 , 5 , 12) , TIME_DURATION ( 12 , 0 , 0)) ; 
  기간 D = pt.date (); 
  표준 : COUT << D << 표준 : ENDL; 
  TIME_DURATION의 TD = pt.time_of_day (); 
  표준 : : cout을

  

<< TD << 표준 : ENDL;

  ptime pt2 = second_clock::universal_time();
  std::cout << pt2.date() << std::endl;
  std::cout << pt2.time_of_day() << std::endl; pt2 = from_iso_string("20140512T120000"); std::cout << pt2.date() << std::endl; std::cout << pt2.time_of_day() << std::endl;
반환  0 ; }

형 부스트 :: posix_time ::의 Ptime의 객체를 초기화하려면 생성자에 제 1 및 제 2 매개 변수로 형 부스트 날짜 : 그레고리 :: 날짜를 입력 부스트의 기간 :: posix_time :: TIME_DURATION를 전달합니다. 부스트 :: posix_time :: TIME_DURATION의 생성자는 시간을 결정하는 세 개의 매개 변수를 취합니다. 날짜와 시간을 조회하려면, 멤버 함수 날짜 ()와 TIME_OF_DAY ()를 사용합니다.

클래스 부스트 현재 시간을 반환 second_clock :: posix_time ::. 멤버 함수 universal_time ()는 UTC 시간을 반환합니다. LOCAL_TIME ()는 현지 시간을 반환합니다. 무료 - 서 기능이 boost::posix_time::from_iso_string()형식의 개체로 ISO 8601 표준을 사용하여 포맷 문자열에 저장된 시간을 변환합니다.

2. TIME_DURATION

사용법 #include </ DATE_TIME / posix_time / posix_time.hpp 향상> 
사용법 #include <iostream> 사용하여 네임 스페이스 향상을 :: posix_time을; INT ) (주 
{ 
  TIME_DURATION의 TD ( 16 , 30 , 0) ; 
  표준 : COUT << td.hours () << 표준 : ENDL; 
  표준 : COUT << td.minutes () << 표준 : ENDL; 
  표준 : COUT << td.seconds () << 표준 : ENDL; 
  표준 : COUT << td.total_seconds () << 표준 : ENDL;

 



  ptime pt1{date{2014, 5, 12}, time_duration{12, 0, 0}}; ptime pt2{date{2014, 5, 12}, time_duration{18, 30, 0}}; time_duration td2 = pt2 - pt1; std::cout << td2.hours() << std::endl; std::cout << td2.minutes() << std::endl; std::cout << td2.seconds() << std::endl;
반환  0 ; }

동안 시간 (), 분 () 및 초, 시간 기간의 각각의 부분을 돌려 같은 초 총수를 리턴 total_seconds ()와 같은 멤버 함수.

입력 부스트 : posix_time ::의 Ptime의 두 배는 서로 감산하는 경우, 입력 부스트 : 두 배의 지속 시간을 지정 posix_time :: TIME_DURATION의 목적에 따라서.

3. TIME_PERIOD

사용법 #include </ DATE_TIME / posix_time / posix_time.hpp 향상> 
사용법 #include <iostream> 사용하여 네임 스페이스 향상을 :: posix_time을;
사용하는 네임 스페이스 향상을 :: 그레고리; INT ) (주 
{ 
  의 Ptime의 PT1 (날짜 ( 2014 , 5 , 12) , TIME_DURATION ( 12 , 0 , 0)) ; 
  의 Ptime의 PT2 (날짜 ( 2014 , 5 , 12) , TIME_DURATION ( 18 , 30 , 0)) ; 
  TIME_PERIOD의 TP {PT1, PT2}; 
  표준 : cout.setf (표준 : IOS :: boolalpha);

  


  표준 : COUT << tp.contains (PT1) << 표준 : ENDL; 
  표준 : COUT << tp.contains (PT2) << 표준 : ENDL;
  반환  0 ; 
}

일반적으로 boost::posix_time::time_period처럼 작동합니다 boost::gregorian::date_period. 이 멤버 함수 제공 contains()반환, true기간 내 시간의 모든 지점을. 생성자로 전달되는 종료 시간이므로 boost::posix_time::time_period, 기간의 일부가 아닌, 두 번째 전화 contains()반환 위의 예 false.

4. 반복자

사용법 #include </ DATE_TIME / LOCAL_TIME / local_time.hpp 향상> 
사용법 #include <iostream> 사용하여 네임 스페이스 향상을 :: posix_time을;
사용하는 네임 스페이스 향상을 :: 그레고리; INT ) (주 
{ 
  의 Ptime의 PT (날짜 ( 2014 , 5 , 12) , TIME_DURATION ( 12 , 0 , 0)) ; 
  그 time_iterator (PT, TIME_DURATION ( 6 , 30 , 0)) ; 
  표준 : COUT << * ++을 << 표준 : ENDL; 
  표준 : COUT << * ++을 << 표준 : ENDL;
  반환 0

  

 ; 
}

위 예제는 시간 PT에서 앞으로 6.5 시간을 뛰어 반복자를 사용합니다. 반복자 회 increamented 때문에 ,, 출력은 2014-May-12 18:30:002014-May-13 01:00:00.

추천

출처www.cnblogs.com/sssblog/p/11304192.html