클래스 부스트 :: 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:00
과 2014-May-13 01:00:00
.