[c++] 날짜와 시간 관련 데이터베이스 연동

C++ 프로그램에서 날짜와 시간을 처리하고 데이터베이스와 연동하는 것은 중요한 기능입니다. 여기에서는 C++에서 날짜와 시간을 다루는 방법과 데이터베이스와의 연동을 다루겠습니다.

1. 날짜와 시간 다루기

C++17부터 제공되는 <chrono> 헤더를 사용하여 날짜와 시간을 다룰 수 있습니다. 예를 들어, 현재 시간을 구하고 출력하는 코드는 다음과 같습니다:

#include <iostream>
#include <chrono>
#include <ctime>

int main() {
    auto now = std::chrono::system_clock::now();
    std::time_t now_c = std::chrono::system_clock::to_time_t(now);
    std::cout << "현재 시간: " << std::ctime(&now_c);
    return 0;
}

2. 데이터베이스 연동하기

C++에서 데이터베이스에 연동하기 위해서는 데이터베이스에 액세스하기 위한 라이브러리를 사용해야 합니다. 가장 일반적으로 사용되는 데이터베이스 라이브러리로는 libpqxx (PostgreSQL용), MySQL Connector/C++ (MySQL용), SQLite Modern C++ Wrapper (SQLite용) 등이 있습니다.

아래는 libpqxx를 사용하여 PostgreSQL 데이터베이스에 연결하는 간단한 예제입니다:

#include <iostream>
#include <pqxx/pqxx>

int main() {
    try {
        pqxx::connection C("dbname=mydb user=myuser password=mypass");
        if (C.is_open()) {
            std::cout << "데이터베이스에 연결되었습니다: " << C.dbname() << std::endl;
        } else {
            std::cout << "데이터베이스 연결에 실패했습니다" << std::endl;
        }
        C.disconnect ();
    } catch (const std::exception &e) {
        std::cerr << e.what() << std::endl;
        return 1;
    }
    return 0;
}

결론

C++로 날짜와 시간을 다루는 방법과 데이터베이스와의 연동에 대해 간단히 살펴보았습니다. 정확한 사용법에 대해서는 각 라이브러리의 공식 문서를 참고하는 것이 좋습니다.

더 많은 정보를 원하시면 https://www.cplusplus.com/reference/chrono/ 와 같은 사이트를 방문해보세요.