본문 바로가기
정보/컴퓨터

[MFC] COleDateTime.Format 사용 방법

by 부자파파 2020. 9. 15.
반응형

MFC로 프로그램을 개발할 때 COleDateTime 클래스나 CTime 클래스를 이용해서 시스템 시간을 가져오거나 시간을 조작하거나 표현을 Format을 이용해서 할 때가 제법 있습니다.

해당 클래스에서 사용하는 Format 을 간략히 설명해드리겠습니다.

 

사용 방법은 아래와 같이 간단합니다.

COleDateTiem curTime = COleDateTime::GetCurrentTime();
CString strTime = curTime.Format(L"포맷");

아주 간단한 형태로 제공이 되는데요. 여기서 '포맷' 부분에 여러가지 형식을 제공합니다.

형식에 대해서는 아래의 표를 참고해주세요.

모든 포맷은 앞에 %가 들어갑니다.

예를 들어 c 의 경우 %c 가 되는데요. 공통이라 %는 전부 빼고 정리합니다.

또한 주의하실 부분이 대소문자를 구분하기 때문에 대소문자를 꼭 틀리지 않게 하셔야 합니다.

 

   포맷팅 문자
포맷 출력 설명
c 09/25/19 20:44:23 월/일/년 시:분:초 로 표현됩니다.
x 09/25/19 월/일/년 을 출력합니다.
X 20:44:23 시:분:초 를 출력합니다.
y 19 2019년인 경우 19를 출력합니다.
Y 2019 2019년도의 경우 2019을 출력합니다.
b Sep 영문 약어로 해당 월을 출력합니다.
B September 영문으로 월을 출력합니다. 전체 문자열로 출력합니다.
m 09 아라비아 숫자로 월을 출력합니다.
d 25 아라비아 숫자로 현재 월의 일을 출력합니다.
j 320 001~366 까지 출력될 수 있습니다. 1년 중 1월 1일 기준으로 몇번째인지 출력합니다.
a Wed 요일을 영문 약어로 표현합니다.
A Wednesday 요일을 영문으로 표현합니다.
w 3 0~6으로 출력합니다. 주중 몇번째 요일인지 출력합니다.
0 : 일요일, 1 : 월요일,.. 3 : 수요일, ... 6 : 토요일
p PM AM or PM 으로 출력
I 08 시간을 표현합니다. 12시간제로 출력합니다.
H 20 시간을 표현합니다. 24시간제로 출력합니다.
M 44 분을 표현합니다. 00~59
S 19 초를 표현합니다. 00~59
W 48 1년 중 현재 몇번째 주 인지 출력합니다.
시작 기준을 월요일로 계산합니다.
범위 : 00~53
U 48 1년 중 현재 몇번째 주 인지 출력합니다.
시작 기준을 일요일로 계산합니다.
범위 : 00~53
z 대한민국 표준시  
Z 대한민국 표준시  
   Format 사용 예

Format을 사용할 때는 단일 형식만 쓰기도 하지만 복합적으로 사용하기도 합니다.

 

COleDateTime curTime = COleDateTime::GetCurrentTime();
CString strTime = curTime.Format(L"%p %I:%M:%S %Y-%m-%d");

위와 같이 하면 현재 날짜가 2020년 9월 13일 오후 8시 57분 34초이면

출력이 'PM 08:57:34 2020-09-13' 으로 나올것입니다.

이런식으로 복합적으로 만들어서 사용하실 수 있습니다.

반응형

댓글