PostgreSQL 데이터베이스에서 타임 스탬프 필드를 읽었습니다.boost :: posix_time이 시간대를 인식하도록하려면 어떻게해야합니까?
my_timestamp TIMESTAMP WITH TIME ZONE DEFAULT NOW()
데이터베이스에서 읽기, 나는이 같은 부스트 타임 스탬프로 변환 :
boost::posix_time::ptime pt(boost::posix_time::time_from_string(str));
문제는 boost::posix_time::time_from_string()
이 시간대를 무시 것으로 보인다 타임 스탬프 열이 정의된다. 예를 들어
:
database text string == "2013-05-30 00:27:04.8299-07" // note -07 timezone
boost::posix_time::to_iso_extended_string(pt) == "2013-05-30T00:27:04.829900"
I는 결과의 Ptime 개체 연산을 수행하는 시간을 정확하게 7시간 off이다. 시간대 정보를 잃지 않기 위해해야 할 일이 있습니까?
나는 당신을 팔로우하지 않는다. 어떻게 시간대 정보가있는 텍스트 문자열을 boost :: local_date_time으로 변환합니까? 내가 문자열을 취하는 유일한 함수는 boost :: posix_time :: time_from_string()으로 시간대 정보를 버리는 것처럼 보입니다. –
내 편집을 확인하십시오, pls –
부스트 문서에서 가져온 부분을 볼 수는 있지만 어떻게 작동시키는 지 알 수는 없습니다. svp 매개 변수는 어디서 오는가? 부스트 (Boost)의 예제는이 구문 분석에 타임 스탬프가 아닌 날짜 만 표시합니다. –