Описание: Класс для работы с датой и временем по Интернет-стандарту. Класс предназначен для работы с Windows и работает с его API. Временные зоны берутся из реестра Windows. Вы можете найти их всех по этому пути:
Демонстрация:
Очень краткий пример всего функционала: парсинг и форматирование по стандарту ISO_8601, а также указание начального часового пояса.
Вы можете добавить/отнять секунды/минуты/часы/дни через std::chrono:
Исходник: https://github.com/Receiver1/date_time
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
. Все функции задокументированы в коде, вы можете разобраться сами, посмотрев файл src/date_time.h
. Метод date_time::current
использует время UTC без часового пояса. Вы можете установить пояс самостоятельно, используя date_time::set_timezone
. Вы так же можете инициализировать класс с помощью timestamp.Демонстрация:
Очень краткий пример всего функционала: парсинг и форматирование по стандарту ISO_8601, а также указание начального часового пояса.
C++:
std::cout << date_time{"2023-09-07T00:00:00Z", date_format::ISO_8601,
time_zone{"Russia TZ 2 Standard Time"}}.format(date_format::ISO_8601) << std::endl;
C++:
using namespace std::chrono_literals;
std::cout << (date_time{"2023-09-07T00:00:00Z"} + 15min)
.format(date_format::ISO_8601)
<< std::endl;
Последнее редактирование: