찾다
  • 로그인
  • 가입
비밀번호 재설정 성공

당신이 관심을 갖고 있는 프로젝트를 팔로우하고 그들에 관한 최신 뉴스를 맛보세요

C++ 날짜 및 시간

수집 154
읽다 53378
업데이트 시간 2016-09-11

C++ 표준 라이브러리는 소위 날짜 유형을 제공하지 않습니다. C++는 날짜 및 시간 작업을 위한 C 언어의 구조와 기능을 상속합니다. 날짜 및 시간 관련 함수와 구조를 사용하려면 C++ 프로그램에서 <ctime> 헤더 파일을 참조해야 합니다.

시간 관련 유형에는 clock_t, time_t, size_ttm의 네 가지 유형이 있습니다. clock_t, size_t 및 time_t 유형은 시스템 시간과 날짜를 특정 정수로 나타냅니다.

구조체 유형 tm 날짜와 시간을 C 구조 형태로 저장합니다. tm 구조의 정의는 다음과 같습니다.

struct tm {
  int tm_sec;   // 秒,正常范围从 0 到 59,但允许至 61
  int tm_min;   // 分,范围从 0 到 59
  int tm_hour;  // 小时,范围从 0 到 23
  int tm_mday;  // 一月中的第几天,范围从 1 到 31
  int tm_mon;   // 月,范围从 0 到 11
  int tm_year;  // 自 1900 年起的年数
  int tm_wday;  // 一周中的第几天,范围从 0 到 6,从星期日算起
  int tm_yday;  // 一年中的第几天,范围从 0 到 365,从 1 月 1 日算起
  int tm_isdst; // 夏令时
}

다음은 C/C++에서 날짜와 시간에 관한 중요한 함수입니다. 이 모든 함수는 C/C++ 표준 라이브러리의 일부입니다. C++ 표준 라이브러리에서 각 함수의 세부 정보를 확인할 수 있습니다.

일련 번호기능 및 설명
1time_t time(time_t *time);
이 함수는 시스템의 현재 달력 시간, 즉 1월 1일 이후 경과된 초 수를 반환합니다. 1970년. 시스템에 시간이 없으면 .1이 반환됩니다.
2char *ctime(const time_t *time);
이것은 문자열 일 월 연 시:분:초 연도 형식으로 현지 시간을 나타내는 문자열 포인터를 반환합니다.

현재 날짜 및 시간

아래 예에서는 현지 시간 및 협정 세계시(UTC)를 포함하여 현재 시스템 날짜 및 시간을 가져옵니다.

#include <iostream>
#include <ctime>

using namespace std;

int main( )
{
   // 基于当前系统的当前日期/时间
   time_t now = time(0);
   
   // 把 now 转换为字符串形式
   char* dt = ctime(&now);

   cout << "本地日期和时间:" << dt << endl;

   // 把 now 转换为 tm 结构
   tm *gmtm = gmtime(&now);
   dt = asctime(gmtm);
   cout << "UTC 日期和时间:"<< dt << endl;
}

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

本地日期和时间:Sat Jan  8 20:07:41 2011

UTC 日期和时间:Sun Jan  9 03:07:41 2011

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

tm 구조는 C/C++에서 날짜 및 시간 관련 작업을 처리할 때 특히 중요합니다. tm 구조는 날짜와 시간을 C 구조로 유지합니다. 대부분의 시간 관련 함수는 tm 구조를 사용합니다. 다음 예에서는 tm 구조와 다양한 날짜 및 시간 관련 함수를 사용합니다.

구조 사용을 연습하기 전에 C 구조에 대한 기본적인 이해가 있어야 하며 화살표 -> 연산자를 사용하여 구조 멤버에 액세스하는 방법을 알아야 합니다.

#include <iostream>
#include <ctime>

using namespace std;

int main( )
{
   // 基于当前系统的当前日期/时间
   time_t now = time(0);

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

   tm *ltm = localtime(&now);

   // 输出 tm 结构的各个组成部分
   cout << "Year: "<< 1900 + ltm->tm_year << endl;
   cout << "Month: "<< 1 + ltm->tm_mon<< endl;
   cout << "Day: "<<  ltm->tm_mday << endl;
   cout << "Time: "<< 1 + ltm->tm_hour << ":";
   cout << 1 + ltm->tm_min << ":";
   cout << 1 + ltm->tm_sec << endl;
}

위 코드를 컴파일하고 실행하면 다음과 같은 결과가 나옵니다.

Number of sec since January 1, 1970:1294548238
Year: 2011
Month: 1
Day: 8
Time: 22: 44:59
핫 AI 도구
Undress AI Tool
Undress AI Tool

무료로 이미지를 벗다

AI Clothes Remover
AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undresser.AI Undress
Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

Stock Market GPT
Stock Market GPT

더 현명한 결정을 위한 AI 기반 투자 연구

인기 있는 도구
메모장++7.3.1
메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6
드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전
SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)