2014-04-23 2 views
1

"April 23 2014 12:39:17"과 같은 형식으로 날짜를 저장하는 문자열을 숫자 또는 개체로 변환해야합니다. MS 특정 환경에서 Visual Studio로 작업하기.Visual Studio의 문자열을 날짜 개체로 변환

C++에는 이것을 달성 할 수있는 사용하기 쉬운 함수가 있습니까?

문자열 date와 now() 사이의 비교를 수행하기 위해이 작업을 수행하고 있습니다.

감사합니다.

+1

무슨 소리 야? – crashmstr

+0

Mmmm .. any now() [현재 시간 가져 오기 예제로 사용]. 기본적으로 나는 다른 프로그램에 의해 업데이트되는 XML 파일에서 문자열을 가져온다. 비교를하고 얼마나 오래 XML 파일이 업데이트되었는지 확인하고 싶습니다. – User2

+0

글쎄, 컴파일러가 지원한다면'std :: chrono', 그렇지 않으면'boost', C 함수 또는 OS 호출이 있습니다. – crashmstr

답변

1

여기 내 문제에서 발견 한 해결책이 있습니다.

명확히하려면 : 일종의 날짜 개체로 변환해야하는 날짜의 문자열 표현으로 2 날짜 간의 차이를 찾을 수 있습니다.

MS VisualStudio2010에서 작동합니다. &은 microsoft 클래스를 사용합니다. (기본적으로 유닉스 박스에서는 작동하지 않을 것이다!).

// Create 2 COleDateTime objects: 
COleDateTime DateTime1; 
COleDateTime DateTime2; 

// 'Get' 2 string dates: 
BSTR time1 = L"Apr 24 2014 09:20:20"; 
BSTR time2 = L"Apr 23 2014 12:39:17"; 

// Parse the string dates into the date objects (See! Its alot easier then I thought!) 
DateTime1.ParseDateTime(time1); 
DateTime2.ParseDateTime(time2); 

// Calculate the time difference with a COleDateTimeSpan Object... 
COleDateTimeSpan timeSpan = DateTime2 - DateTime1; 

// Create integer with the difference in time in seconds... 
CString str = timeSpan.Format(_T("%S")); 
int differenceInSeconds = _tstoi(str); 

희망이 있으면 도움이 될 것입니다.

+0

좋은 물건. 물론 이것은 질문 태그 (MS 관련)와 맞지 않기 때문에 절반의 대답이지만, 거기에 있습니다. –

+0

@LightnessRacesinOrbit 질문이 업데이트되었습니다. 배우기 위해 그것을 사용하기를 원하는 사람에게는 더 유익해야합니다. 나는 항상 내가 묻는 질문으로 돌아가서 그것들을 깔끔하게 만드는 것을 의미한다. 이것은 제가 가지고있는 첫 번째 것입니다. Sidenote : 내가 작성한 코드는 이제 '고객'과 함께 있으며 그 코드에 만족합니다. 처음에는 코드를 '고객'과 공유 할 수있었습니다. 좋은 날! – User2

+0

좋은 하나 :) –

관련 문제