K 개발자
시간 관리 함수 본문
시간 관리 함수
유닉스 시스템은 1970년 1월 1일 0시 0분 0초(그리니치 표준시, UTC 시간대)부터 현재까지 경과한 시간을 초 단위로 저장하고, 이를 기준으로 시간 정보를 관리한다.
기본 시간 정보 확인
초 단위로 현재 시간 정보 얻기 : time(2)
#include <sys/types.h>
#include <time.h>
time_t time(time_t *tloc);
// tloc : 검색한 시간 정보를 저장할 주소
마이크로 초 단위로 시간 정보 얻기 : gettimeofday(3)
#include <sys/time.h>
int gettimeofday(struct timeval *tp, void *tzp);
int settimeofday(struct timeval *tp, void *tzp);
// tp : 시간 정보 구조체 주소, tzp : 시간대
시간대 정보
시간대 설정 : tzset(3)
#include <time.h>
void tzset(void);
시간의 형태 변환
시간 정보 분해 : tm 구조체
초 단위 시간 정보를 년, 월, 일로 분해해 저장할 때 tm 구조체를 사용한다.
tm 구조체는 <iso/time_iso.h> 파일에 정의되어 있다.
struct tm {
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
};
초 단위 시간 정보 분해 : gmtime(3), localtime(3)
#include <time.h>
struct tm *localtime(const time_t *clock);
struct tm *gmtime(const time_t *clock);
// clock : 초 단위 시간 정보를 저장한 주소
초 단위 시간으로 역산 : mktime(3)
#include <time.h>
time_t mktime(struct tm *timeptr);
// timeptr : 시간 정보를 저장한 tm 구조체 주소
형식 지정 시간 출력
초 단위 시간을 변환해 출력하기 : ctime(3)
#include <time.h>
char *ctime(const time_t *clock);
// clock : 초 단위 시간 정보를 저장한 주소
tm 구조체 시간을 변환해 출력하기 : asctime(3)
#include <time.h>
char *asctime(const struct tm *tm);
// tm : 시간 정보를 저장한 tm 구조체 주소
출력 형식 기호를 사용해 출력하기 : strftime(3)
#include <time.h>
size_t strftime(char *restrict s, size_t maxsize, const char *restrict format, const struct tm *restrict timeptr);
// s : 출력할 시간 정보를 저장할 배열 주소, maxsize : s의 크기, fortmat : 출력 형식을 지정한 문자열, timeptr : 출력할 시간 정보를 저장한 구조체 주소
'유닉스(Unix) > 시스템 프로그래밍' 카테고리의 다른 글
프로세스 식별 (0) | 2021.08.17 |
---|---|
프로세스의 개념 (0) | 2021.08.17 |
사용자 관련 정보 검색 (0) | 2021.08.16 |
시스템 관련 정보 검색과 설정 (0) | 2021.08.16 |
디렉토리 관련 함수 (0) | 2021.08.16 |
Comments