2014-10-22 1 views
-1

본질적으로 내가 'Epoch'처럼 '1409827517628'에 저장되어있는 타임 스탬프를 포함하여 관련 데이터를 가져 오는 sqlite 테이블을 반복하고 있습니다. ..C++ Epoch에서 Timestamp로

많은 감사

+3

스택 오버플로가 '쓰기 아니다 사용 이 코드는 나를 '사이트. 'stringstream' ... – cybermonkey

+3

UNIX 타임 스탬프 1409827517628은 멀리 먼 미래에 있습니다. –

+0

당신은 Thu, 04 Sep 2014 10:45:17 GMT ... 예 먼 미래를 의미합니다. – Oavatog

답변

2

당신은 사용할 수 있습니다 내가 원하는 모든 ': %의 M % (S)가 % Y- % M- % D % H' '의 형식으로 문자열로 그 정수를 변환입니다 C 함수 localtime(3)struct tm에 (일반적으로 약간의 일체형 인)을 time_t이 후, C 문자열로 변환 예하는 strftime(3)를 사용하여 변환 :

time_t yourtime = something(); // from database perhaps 
char yourbuf[64]; 
strftime(yourbuf, sizeof(yourbuf), 
     "%Y-%m-%d %H:%M:%S", 
     localtime(&yourtime)); 
std::string yourstring(yourbuf); 

이 조심 코드는 상기 재입되지 않도록하지 멀티 스레드 응용 프로그램에 적합합니다 (이 경우 localtime_r 등 사용)

당신이 (A time_t에 문자열에서) 반대의 변환을해야하는 경우

, 다음 mktime(3) ....

C++ (11)와 strptime(3)을 사용하여도 chrono

+0

이것은 질문에 대답하지 않습니다. – cybermonkey

+0

수정 사항과 함께 주장합니다. –

+0

고마워요, 너무 많은 도움이되었습니다. – Oavatog

관련 문제