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 is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn