소연의_개발일지
article thumbnail

Ctime으로는 밀리세컨을 가져올 수 없어 시스템 타임으로 구현했다.

 

1. SYSTEMTIME이란?

SYSTEMTIME은 Windows API에서 날짜와 시간 정보를 나타내는 구조체이다.이를 통해 연도, 월, 일, 시, 분, 초와 같은 세부 날짜 및 시간 데이터를 저장할 수 있다.

 

 

2. SYSTEMTIME 구조체

<cpp />
typedef struct _SYSTEMTIME { WORD wYear; // 연도 (예: 2024) WORD wMonth; // 월 (1-12) WORD wDayOfWeek; // 요일 (0-6, 0 = 일요일) WORD wDay; // 일 (1-31) WORD wHour; // 시 (0-23) WORD wMinute; // 분 (0-59) WORD wSecond; // 초 (0-59) WORD wMilliseconds; // 밀리초 (0-999) } SYSTEMTIME;

 

 

3. SYSTEMTIME 사용 방법

  • 현재 시스템 시간 가져오기: GetLocalTime 또는 GetSystemTime 함수 사용
  • 시스템 시간 설정: SetLocalTime 함수 사용

 

 

예) 현재 시스템 시간 가져오는 함수

<cpp />
#include <windows.h> #include <iostream> int main() { SYSTEMTIME st; // 현재 로컬 시간 가져오기 GetLocalTime(&st); // 시스템 시간 출력 std::cout << "현재 시간: " << st.wYear << "년 " << st.wMonth << "월 " << st.wDay << "일 " << st.wHour << "시 " << st.wMinute << "분 " << st.wSecond << "초 " << st.wMilliseconds << "밀리초" << std::endl; return 0; }

 

출력 예시: 현재 시간: 2024년 12월 5일 17시 23분 45초 123밀리초

 

 

MFC 환경에서 사용해서 Cstring에 포메팅 하고 싶다면

<cpp />
SYSTEMTIME sysTime; GetLocalTime(&sysTime); CString writeTime; writeTime.Format(L"%04d-%02d-%02d %02d:%02d:%02d.%03d", sysTime.wYear, sysTime.wMonth, sysTime.wDay, sysTime.wHour, sysTime.wMinute, sysTime.wSecond, sysTime.wMilliseconds);

이런 식으로 사용하면 된다.

profile

소연의_개발일지

@ssoyxon

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