В свое время для алготрейдерских задач мне нужно было много оперировать датой и временем. Конечно, в С++ и Си есть библиотеки для работы с датой и временем. Но мне захотелось сделать свой велосипед, который бы мог легко и удобно превращать строковое представление времени в метку времени, менять часовой пояс, получать время UTC компьютера, преобразовывать метку времени в стандартный формат даты и времени и обратно и т.д. и т.п. Одним словом, целый спектр задач.
В итоге я сделал библиотеку
xtime (ну, громко сказано «библиотека», это всего лишь два файла
.cpp и
.hpp). Для хранения и преобразования меток времени используется тип данных
uint64 либо
double, поэтому у данной библиотеки нет
проблемы 2038 года.
Используемые типы данных:
- timestamp_t — тип длиной 64 бита для хранения метки времени.
- ftimestamp_t - тип с плавающей точкой длиной 64 бита для хранения метки времени с дробной частью секунд.
- oadate_t - тип с плавающей точкой длиной 64 бита для хранения даты автоматизации (OADate)
(
Читать дальше )