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++, що є критично важливим для широкого спектру застосунків.