본문 바로가기
프로그래밍

👨‍💻 [C++] C++ 에서 gmtime 함수는 무엇인가요?

by 밝음의기둥 2025. 4. 29.
반응형

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."


👨‍💻 안녕하세요, 윌리 프로젝트의 윌리 입니다.

C++ 에서 gmtime 함수는 무엇인지 간략히 알아보았습니다.


질문 >

C++ 에서 gmtime 함수는 무엇인가요?

답변 >

gmtime 함수는 C++에서 사용되는 시간 함수로, time_t 타입의 값을 UTC(GMT, 그리니치 평균시) 기준의 날짜와 시간으로 변환해주는 역할을 합니다. 이 함수는 C 표준 라이브러리 <ctime> 헤더에 정의되어 있습니다.

함수 원형

#include <ctime>

std::tm* gmtime(const std::time_t* time);

매개변수

  • time: time_t 포인터로, 일반적으로 time() 함수로 얻은 현재 시간 값을 전달합니다.

반환값

  • std::tm*: UTC 기준의 시간 정보를 담은 tm 구조체 포인터를 반환합니다.

std::tm 구조체의 주요 필드

필드 이름  의미  값의 범위
tm_year 연도 (1900년 기준) (예: 2025년 → 125)
tm_mon 월 (0부터 시작) 0 ~ 11
tm_mday 1 ~ 31
tm_hour 0 ~ 23
tm_min 0 ~ 59
tm_sec 0 ~ 60
tm_wday 요일 (일요일=0) 0 ~ 6
tm_yday 연중 일 수 (1월 1일=0) 0 ~ 365

예제 코드

#include <iostream>
#include <ctime>

int main() {
    std::time_t now = std::time(nullptr); // 현재 시간
    std::tm* gmt = std::gmtime(&now);     // UTC 시간으로 변환

    std::cout << "UTC Time: "
              << 1900 + gmt->tm_year << "-"
              << 1 + gmt->tm_mon << "-"
              << gmt->tm_mday << " "
              << gmt->tm_hour << ":"
              << gmt->tm_min << ":"
              << gmt->tm_sec << std::endl;

    return 0;
}


참고

  • 로컬 시간으로 변환하려면 gmtime() 대신 localtime() 함수를 사용합니다.
  • gmtime이 반환하는 tm 구조체는 static 메모리에 저장되므로, 다중 스레드 환경에서는 gmtime_r() (POSIX) 같은 스레드-세이프 버전을 사용해야 합니다.


🎬 유튜브 채널 🎬

 

위로그@WiLog

📢 안녕하세요, 위로그@WiLog 시청자 여러분, 저는 윌리(Willee) 입니다. 📢 위로그@WiLog 는 자기계발을 목적으로 하는 채널 입니다. 📢 오늘도 즐겁게~ 자신을 위한 계발을 함께 해보아요~ d^_^b 📌

www.youtube.com

🎬 치지직 채널 🎬

 

위로그 채널 - CHZZK

지금, 스트리밍이 시작됩니다. 치지직-

chzzk.naver.com


반응형