산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C++ 날짜 및 시간

C++ 표준 라이브러리는 적절한 날짜 유형을 제공하지 않습니다. C++는 C로부터 날짜 및 시간 조작을 위한 구조 및 함수를 상속합니다. 날짜 및 시간 관련 함수 및 구조에 액세스하려면 C++ 프로그램에 헤더 파일을 포함해야 합니다.

네 가지 시간 관련 유형이 있습니다:clock_t, time_t, size_t , 및 tm . clock_t, size_t 및 time_t 유형은 시스템 시간과 날짜를 일종의 정수로 나타낼 수 있습니다.

구조 유형 tm 다음 요소를 갖는 C 구조의 형태로 날짜와 시간을 보유합니다 -

struct tm {
   int tm_sec;   // seconds of minutes from 0 to 61
   int tm_min;   // minutes of hour from 0 to 59
   int tm_hour;  // hours of day from 0 to 24
   int tm_mday;  // day of month from 1 to 31
   int tm_mon;   // month of year from 0 to 11
   int tm_year;  // year since 1900
   int tm_wday;  // days since sunday
   int tm_yday;  // days since January 1st
   int tm_isdst; // hours of daylight savings time
}

다음은 C나 C++에서 날짜와 시간을 다룰 때 사용하는 중요한 함수들이다. 이 모든 함수는 표준 C 및 C++ 라이브러리의 일부이며 아래 제공된 C++ 표준 라이브러리를 참조하여 자세한 내용을 확인할 수 있습니다.

Sr.No 기능 및 목적
1

time_t 시간(time_t *시간);

1970년 1월 1일 이후 경과된 초 단위로 시스템의 현재 달력 시간을 반환합니다. 시스템에 시간이 없으면 .1이 반환됩니다.

2

char *ctime(const time_t *time);

일 월 년 시:분:초 년\n\0 형식의 문자열에 대한 포인터를 반환합니다. .

3

struct tm *localtime(const time_t *time);

이것은 tm에 대한 포인터를 반환합니다. 현지 시간을 나타내는 구조입니다.

4

clock_t clock(무효);

이것은 호출 프로그램이 실행된 시간의 대략적인 값을 리턴합니다. 시간을 사용할 수 없는 경우 값 .1이 반환됩니다.

5

char * asctime ( const struct tm * time );

다음 형식으로 변환된 시간이 가리키는 구조에 저장된 정보가 포함된 문자열에 대한 포인터를 반환합니다. 일 월 날짜 시:분:초 연도\n\0

6

구조체 tm *gmtime(const time_t *time);

이것은 tm 구조의 형태로 시간에 대한 포인터를 반환합니다. 시간은 기본적으로 그리니치 표준시(GMT)인 협정 세계시(UTC)로 표시됩니다.

7

time_t mktime(구조체 tm *시간);

이것은 time이 가리키는 구조에서 찾은 시간에 해당하는 달력 시간을 반환합니다.

8

이중 difftime( time_t time2, time_t time1 );

이 함수는 time1과 time2의 차이를 초 단위로 계산합니다.

9

size_t strftime();

이 기능은 날짜와 시간을 특정 형식으로 포맷하는 데 사용할 수 있습니다.

현재 날짜 및 시간

현재 시스템 날짜 및 시간을 현지 시간 또는 UTC(협정 세계시)로 검색한다고 가정합니다. 다음은 동일한 것을 달성하는 예입니다 -

라이브 데모
#include <iostream>
#include <ctime>

using namespace std;

int main() {
   // current date/time based on current system
   time_t now = time(0);
   
   // convert now to string form
   char* dt = ctime(&now);

   cout << "The local date and time is: " << dt << endl;

   // convert now to tm struct for UTC
   tm *gmtm = gmtime(&now);
   dt = asctime(gmtm);
   cout << "The UTC date and time is:"<< dt << endl;
}

위의 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. -

The local date and time is: Sat Jan  8 20:07:41 2011

The UTC date and time is:Sun Jan  9 03:07:41 2011

구조체 tm을 사용하여 시간 형식 지정

tm 구조는 C 또는 C++에서 날짜와 시간으로 작업할 때 매우 중요합니다. 이 구조는 위에서 언급한 C 구조의 형태로 날짜와 시간을 보유합니다. 대부분의 관련 기능은 tm 구조를 사용합니다. 다음은 다양한 날짜 및 시간 관련 함수와 tm 구조를 사용한 예입니다. -

이 장에서 구조체를 사용하는 동안 나는 당신이 C 구조체에 대한 기본적인 이해와 화살표 -> 연산자를 사용하여 구조체 멤버에 접근하는 방법을 알고 있다고 가정합니다.

라이브 데모
#include <iostream>
#include <ctime>

using namespace std;

int main() {
   // current date/time based on current system
   time_t now = time(0);

   cout << "Number of sec since January 1,1970 is:: " << now << endl;

   tm *ltm = localtime(&now);

   // print various components of tm structure.
   cout << "Year:" << 1900 + ltm->tm_year<<endl;
   cout << "Month: "<< 1 + ltm->tm_mon<< endl;
   cout << "Day: "<< ltm->tm_mday << endl;
   cout << "Time: "<< 5+ltm->tm_hour << ":";
   cout << 30+ltm->tm_min << ":";
   cout << ltm->tm_sec << endl;
}

위의 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다. -

Number of sec since January 1,1970 is:: 1588485717
Year:2020
Month: 5
Day: 3
Time: 11:31:57

C 언어

  1. 전압 및 전류 계산
  2. C++ 변수, 리터럴 및 상수
  3. C++ 클래스 및 개체
  4. C++ 메모리 관리:신규 및 삭제
  5. C++ 공개, 보호 및 비공개 상속
  6. C++ friend 함수 및 friend 클래스
  7. Python에서 현재 날짜와 시간을 얻는 방법은 무엇입니까?
  8. C++의 구조 및 클래스
  9. C++ 오버로딩(연산자와 함수)
  10. C++ 파일 및 스트림