티스토리 뷰
시간 관련 라이브러리
# 라이브러리 함수 이해
1. 종류
1) 헤더 파일 : time.h
2. 라이브러리 변수
clock : 시간 계산 함수
difftime : 두 시간 사이의 차이 계산
mktime : structtm 구조체를통해epoch time을구해내는함수
time : 현재 시간
asctime : 시간구조체를 문자로 변환
ctime : 시간변수를 문자로 변환
gmtime : UTC 시간으로 변환
localtime : 지역 시간으로 변환
strftime : 날짜와시간으로이루어진문자열을structtm으로변환
difftime : 두 시간 사이의 차이 계산
mktime : structtm 구조체를통해epoch time을구해내는함수
time : 현재 시간
asctime : 시간구조체를 문자로 변환
ctime : 시간변수를 문자로 변환
gmtime : UTC 시간으로 변환
localtime : 지역 시간으로 변환
strftime : 날짜와시간으로이루어진문자열을structtm으로변환
size_t : 부호 없는 정수형
clock_t : 프로세서 시간 저장 변수 타입
time_t : 캘린더 시간 저장 변수 타입
struct tm : 날짜, 시간 처리 구조체
3. 관련 용어clock_t : 프로세서 시간 저장 변수 타입
time_t : 캘린더 시간 저장 변수 타입
struct tm : 날짜, 시간 처리 구조체
struct tm {
int tm_sec; /* seconds, range 0 to 59 */
int tm_min; /* minutes, range 0 to 59 */
int tm_hour; /* hours, range 0 to 23 */
int tm_mday; /* day of the month, range 1 to 31 */
int tm_mon; /* month, range 0 to 11 */
int tm_year; /* The number of years since 1900 */
int tm_wday; /* day of the week, range 0 to 6 */
int tm_yday; /* day in the year, range 0 to 365 */
int tm_isdst; /* daylight saving time */
};
Epoch Time : 1970년 01월 01일 00시 00분 00초를 기점으로 흐르는 시간
UTC 타입(Coordinated Universal Time) : 영국그리니치천문대(경도0)를기준으로하는세 표준시간대
UTC+9 : 한국 시간
Greenwich Mean Time, GMT : 영국 런던을 기점, 뉴질랜드 웰링턴을 종점으로 하는 협정 세계시
UTC 타입(Coordinated Universal Time) : 영국그리니치천문대(경도0)를기준으로하는세 표준시간대
UTC+9 : 한국 시간
Greenwich Mean Time, GMT : 영국 런던을 기점, 뉴질랜드 웰링턴을 종점으로 하는 협정 세계시
# 라이브러리 함수 활용
1. clock
2. time
3. difftime
4. ctime
5. strftime
#include
#include
#include
#define setClock() (clock() +500000)
int main(void) {
clock_t clk_start = setClock();
while ( -1 ) {
if (clock() > clk_start) {
clk_start = setClock();
printf(“%ld..\n”,clk_start);
}
}
return 0;
}
//결과값
1010000..
1520000..
2030000..
2540000..
3050000..
3560000..
4070000..
4580000..
5090000..
5600000..
int main ()
{
time_t start,end;
char szInput [256];
double dif;
time (&start);
printf (“Please, enter your name: ”);
gets (szInput);
time (&end);
dif = difftime (end,start);
printf (“Hi %s.\n”, szInput);
printf (“It took you %.2lf seconds to type your name.\n”, dif );
return 0;
}
#include
#include
int main( void)
{
time_t current_time;
time( ¤t_time);
printf( “%ldn”, current_time);
printf( ctime( ¤t_time));
return 0;
}
//결과값
1184746481
Wed Jul 18 17:14:41 2027
%a 요일 이름의 약자
%M 분(00-59)
%A 요일 이름
%p AM 또는 PM
%b 월 이름의 약자
%S 초(00-59)
%B 월 이름
%w 요일(0-6)
%c 지역 날짜와 시간
%x 지역 날짜
%d 날짜(01-31)
%X 지역 시간
%H 시간(00-23)
%y 연도(00-99)
%l(엘) 시간(01-12)
%Y 연도(예, 2003)
%j 1월 1일 이후의 날짜(001-366)
%% 퍼센트 기호(%)
%m 월(01-12)
%M 분(00-59)
%A 요일 이름
%p AM 또는 PM
%b 월 이름의 약자
%S 초(00-59)
%B 월 이름
%w 요일(0-6)
%c 지역 날짜와 시간
%x 지역 날짜
%d 날짜(01-31)
%X 지역 시간
%H 시간(00-23)
%y 연도(00-99)
%l(엘) 시간(01-12)
%Y 연도(예, 2003)
%j 1월 1일 이후의 날짜(001-366)
%% 퍼센트 기호(%)
%m 월(01-12)
#include
#include
int main ()
{
time_t rawtime;
struct tm * timeinfo;
char buffer [80];
time (&rawtime);
timeinfo = localtime (&rawtime);
strftime (buffer,80, “Now it's %I:%M%p.”,timeinfo);
puts (buffer);
return 0;
}
//결과값
Now it's 03:21PM.
'JAVA기반스마트웹개발2021 > 프로그래밍언어 활용' 카테고리의 다른 글
변환·랜덤 라이브러리 (0) | 2021.08.10 |
---|---|
주소록 관리 시스템 (0) | 2021.08.09 |
도서관리 시스템 고도화(파일 처리) (0) | 2021.08.08 |
파일 입출력 라이브러리(응용) (0) | 2021.08.08 |
파일 입출력 라이브러리(기초) (0) | 2021.08.08 |