C++의 시간(NULL) 함수

Zeeshan Afridi 2023년10월12일
C++의 시간(NULL) 함수

이 기사에서는 C++의 time(NULL) 함수에 대해 설명합니다.

C++의 time(NULL) 함수

매개변수 NULL이 있는 time() 함수, time(NULL)은 1970년 1월 1일 이후 현재 달력 시간을 초 단위로 반환합니다. Null은 값이 0이고 포인터가 0인 내장 상수입니다. 0 CPU가 Null 포인터에 대한 특수 비트 패턴을 지원하지 않는 한.

time_t 변수에 대한 포인터를 전달한다고 가정합니다. 해당 변수는 현재 시간을 가리킵니다. time_t는 시스템 시간 값을 저장하고 활용하기 위해 정의된 ISO C++ 라이브러리의 데이터 유형입니다.

이러한 값 유형은 표준 time() 라이브러리 함수에서 반환됩니다. time.h 헤더 파일에 정의되어 있으며 부호 없는 긴 정수이며 크기는 8바이트입니다.

예제 코드:

#include <time.h>

#include <iostream>

using namespace std;

int main() {
  time_t seconds;
  seconds = time(NULL);
  cout << "Time in seconds is = " << seconds << endl;
}

출력:

Time in seconds is = 1650710906

time_t 데이터 유형의 seconds 변수를 정의하고 time(NULL) 함수의 반환 값으로 초기화했습니다. 이 함수는 1970년 1월 1일부터 시간을 초 단위로 반환했으며 마지막에 결과를 출력했습니다.

이제 초 단위의 읽기 시간은 인간이 편리하게 이해할 수 없기 때문에 초 단위 시간을 이해할 수 있는 형식으로 변환하는 메커니즘이 있어야 합니다. 그리고 C++ 라이브러리 덕분에 다음과 같은 해결책이 있습니다.

#include <time.h>

#include <iostream>

using namespace std;

int main() {
  time_t seconds;
  seconds = time(NULL);
  struct tm* local_time = localtime(&seconds);
  cout << "Time in seconds      " << seconds << endl;
  cout << "local time           " << asctime(local_time);
}

출력:

Time in seconds   1650712161
local time      Sat Apr 23 16:09:21 2022

struct tm은 C/C++ 언어의 time.h 헤더 파일에 내장된 구조이며 모든 개체에는 시스템의 날짜와 시간이 포함됩니다. tm 구조의 이러한 멤버를 활용하여 원하는 방식으로 코드를 사용자 정의할 수 있습니다.

struct tm {
  int tm_sec;    // seconds,  ranges from 0 to 59
  int tm_min;    // minutes, ranges from 0 to 59
  int tm_hour;   // hours, ranges from 0 to 23
  int tm_mday;   // day of the month, ranges from 1 to 31
  int tm_mon;    // month, ranges from 0 to 11
  int tm_year;   // The number of years since 1900
  int tm_wday;   // day of the week, ranges from 0 to 6
  int tm_yday;   // day in the year, ranges from 0 to 365
  int tm_isdst;  // daylight saving time
};
Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

관련 문장 - C++ Function