C++:
現在の日付の取得
方法:
C++では、C++標準ライブラリやBoostのようなサードパーティのライブラリを含む、現在の日付を取得するいくつかの方法が提供されています。次の例は、このタスクを達成する方法を示しています。
<chrono>
を使用する(C++20以降)
C++20は、 <chrono>
ライブラリにより多くの機能を導入し、現在の日付を取得することを簡単にしました:
#include <iostream>
#include <chrono>
#include <format> // std::format用 (C++20)
int main() {
auto current_time_point = std::chrono::system_clock::now(); // 現在の時刻を取得
auto current_time_t = std::chrono::system_clock::to_time_t(current_time_point); // time_tに変換
// 時間を読みやすい形式にフォーマットする
std::cout << "現在の日付: " << std::format("{:%Y-%m-%d}", std::chrono::system_clock::to_time_t(current_time_point)) << std::endl;
return 0;
}
サンプル出力:
現在の日付: 2023-03-15
<ctime>
を使用する
C++の古いバージョンで作業しているプログラマーや、伝統的なCライブラリを好む人のために:
#include <iostream>
#include <ctime>
int main() {
std::time_t t = std::time(0); // 現在の時刻を取得
std::tm* now = std::localtime(&t);
std::cout << "現在の日付: "
<< (now->tm_year + 1900) << '-'
<< (now->tm_mon + 1) << '-'
<< now->tm_mday
<< std::endl;
return 0;
}
サンプル出力:
現在の日付: 2023-03-15
Boost Date_Timeを使用する
Boostライブラリを使用するプロジェクトのために、Boost Date_Timeライブラリは、現在の日付を取得する代替方法を提供します:
#include <iostream>
#include <boost/date_time.hpp>
int main() {
// Boostのグレゴリオ暦を使用して現在の日を取得する
boost::gregorian::date today = boost::gregorian::day_clock::local_day();
std::cout << "現在の日付: " << today << std::endl;
return 0;
}
サンプル出力:
現在の日付: 2023-Mar-15
これらの例は、幅広いアプリケーションでC++で日付の操作を行うための基礎を提供します。