Дата и время С++
Стандартная библиотека C++ не предоставляет правильный тип даты. C++ наследует структуры и функции для работы с датой и временем из C. Чтобы получить доступ к функциям и структурам, связанным с датой и временем, вам потребуется включить заголовочный файл
Существует четыре типа времени:clock_t, time_t, size_t. и тм . Типы - 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++, приведенную ниже.
| Старший № | Функция и назначение |
|---|---|
| 1 | <тд>|
| 2 | <тд>|
| 3 | <тд>|
| 4 | <тд>|
| 5 | <тд>|
| 6 | <тд>|
| 7 | <тд>|
| 8 | <тд>|
| 9 | <тд>
Текущая дата и время
Предположим, вы хотите получить текущую системную дату и время либо как местное время, либо как всемирное координированное время (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
Формат времени с помощью struct 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
- Расчет напряжения и тока
- Переменные C++, литералы и константы
- Классы и объекты С++
- Управление памятью C++:создание и удаление
- Публичное, защищенное и частное наследование C++
- Дружественные функции C++ и дружественные классы
- Как получить текущую дату и время в Python?
- Структуры и классы в C ++
- Перегрузка C++ (оператор и функция)
- Файлы и потоки C++