소연의_개발일지

CTime 클래스는 MFC(Microsoft Foundation Class) 라이브러리에서 날짜와 시간을 관리하는 데 사용된다.

CTime 객체를 특정 형식으로 포맷하려면 Format 함수를 사용하면 된다.(문자열로 변환해 줌)

 

주요 형식 코드는 다음과 같다.

<cpp />
%a : 요일 이름의 축약형 (예: Mon, Tue) %A : 요일 이름 (예: Monday, Tuesday) %b : 월 이름의 축약형 (예: Jan, Feb) %B : 월 이름 (예: January, February) %d : 일 (01 ~ 31) %m : 월 (01 ~ 12) %y : 연도의 마지막 두 자리 (00 ~ 99) %Y : 연도 (예: 2024) %H : 24시간 형식의 시간 (00 ~ 23) %I : 12시간 형식의 시간 (01 ~ 12) %M : 분 (00 ~ 59) %S : 초 (00 ~ 59) %p : AM 또는 PM

 

포메팅 예시

 

1. 연-월-일

<cpp />
CString formatted1 = currentTime.Format(_T("%Y-%m-%d")); // 연-월-일 (예: 2024-11-12)

 

2. 일/월/연

<cpp />
CString formatted2 = currentTime.Format(_T("%d/%m/%Y")); // 일/월/연 (예: 12/11/2024)

 

3. 요일, 월 일, 연

<cpp />
CString formatted3 = currentTime.Format(_T("%A, %B %d, %Y")); // 요일, 월 일, 연 (예: Tuesday, November 12, 2024)

 

4. 24시간제

<cpp />
CString formatted4 = currentTime.Format(_T("%H:%M:%S")); // 24시간제 시:분:초 (예: 15:45:32)

 

5. 12시간제

<cpp />
CString formatted5 = currentTime.Format(_T("%I:%M:%S %p")); // 12시간제 시:분:초 AM/PM (예: 03:45:32 PM)

 

기타 예시

<cpp />
#include <afx.h> #include <iostream> int main() { // 현재 시간 가져오기 CTime currentTime = CTime::GetCurrentTime(); // 다양한 포맷 예제 CString formatted1 = currentTime.Format(_T("%Y-%m-%d")); // 연-월-일 (예: 2024-11-12) CString formatted2 = currentTime.Format(_T("%d/%m/%Y")); // 일/월/연 (예: 12/11/2024) CString formatted3 = currentTime.Format(_T("%A, %B %d, %Y")); // 요일, 월 일, 연 (예: Tuesday, November 12, 2024) CString formatted4 = currentTime.Format(_T("%H:%M:%S")); // 24시간제 시:분:초 (예: 15:45:32) CString formatted5 = currentTime.Format(_T("%I:%M:%S %p")); // 12시간제 시:분:초 AM/PM (예: 03:45:32 PM) CString formatted6 = currentTime.Format(_T("%m/%d/%Y %H:%M")); // 월/일/연 시:분 (24시간제) (예: 11/12/2024 15:45) CString formatted7 = currentTime.Format(_T("%Y년 %m월 %d일")); // 한글 형식 연년 월월 일일 (예: 2024년 11월 12일) CString formatted8 = currentTime.Format(_T("%B %Y")); // 월 연도 (예: November 2024) CString formatted9 = currentTime.Format(_T("오늘은 %A입니다.")); // 커스텀 텍스트 포함 (예: 오늘은 Tuesday입니다.) CString formatted10 = currentTime.Format(_T("%j일째 되는 날")); // 올해의 몇 번째 날인지 (예: 316일째 되는 날) CString formatted11 = currentTime.Format(_T("ISO 8601: %Y-%m-%dT%H:%M:%S")); // ISO 8601 형식 (예: 2024-11-12T15:45:32) CString formatted12 = currentTime.Format(_T("Week %U of %Y")); // 연도의 몇 번째 주인지 (예: Week 46 of 2024) // 결과 출력 std::wcout << L"Formatted 1: " << (LPCTSTR)formatted1 << std::endl; std::wcout << L"Formatted 2: " << (LPCTSTR)formatted2 << std::endl; std::wcout << L"Formatted 3: " << (LPCTSTR)formatted3 << std::endl; std::wcout << L"Formatted 4: " << (LPCTSTR)formatted4 << std::endl; std::wcout << L"Formatted 5: " << (LPCTSTR)formatted5 << std::endl; std::wcout << L"Formatted 6: " << (LPCTSTR)formatted6 << std::endl; std::wcout << L"Formatted 7: " << (LPCTSTR)formatted7 << std::endl; std::wcout << L"Formatted 8: " << (LPCTSTR)formatted8 << std::endl; std::wcout << L"Formatted 9: " << (LPCTSTR)formatted9 << std::endl; std::wcout << L"Formatted 10: " << (LPCTSTR)formatted10 << std::endl; std::wcout << L"Formatted 11: " << (LPCTSTR)formatted11 << std::endl; std::wcout << L"Formatted 12: " << (LPCTSTR)formatted12 << std::endl; return 0; }
profile

소연의_개발일지

@ssoyxon

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!