1
1
## xtime
2
2
Простая C++ библиотека для работы с временем и датой
3
3
4
- ## Как установить?
4
+ ### Резюме
5
+
6
+ Данная библиотека позволяет удобно работать со временем.
7
+
8
+ ### Как установить?
5
9
Просто добавьте файлы xtime.hpp и xtime.cpp в проект
6
10
7
- ## Функции библиотеки:
11
+ ### Быстрый обзор интерфейса
8
12
+ Получить Unix-время из даты и стандартного времени
9
- ```
13
+ ``` C++
10
14
using namespace xtime ;
11
15
// дата 24.05.2018 время 23:59:59
12
16
xtime::xtime_timestamp unixEpoch = get_unix_timestamp(24 , 5 , 2018 , 23 , 59 , 59 );
13
17
```
14
18
+ Класс для хранения времени
15
- ```
19
+ ``` C++
16
20
using namespace xtime ;
17
21
18
22
// Инициализируем датой 24.05.2018
@@ -28,7 +32,7 @@ iTime = DateTime(24,5,2018, 0, 0, 0);
28
32
// Или инициализируем Unix epoch или Unix time или POSIX time или Unix timestamp
29
33
unsigned long long unixEpoch = 1527120000;
30
34
31
- iTime.set_unix_timestamp (unixEpoch);
35
+ iTime.set_timestamp (unixEpoch);
32
36
33
37
// Переменные класса DateTime
34
38
iTime.day = 24; // день
@@ -39,7 +43,7 @@ iTime.minutes = 0; // минуты
39
43
iTime.seconds = 0; // секунды
40
44
41
45
// Получить Unix epoch или Unix time или POSIX time или Unix timestamp
42
- unixEpoch = iTime.get_unix_timestamp ();
46
+ unixEpoch = iTime.get_timestamp ();
43
47
44
48
// Вывести время и дату на экран
45
49
iTime.print();
@@ -48,14 +52,14 @@ iTime.print();
48
52
std::string str = iTime.get_str_date_time(); // В строке будет 24.05.2018 00:00:00
49
53
```
50
54
+ Получить стандартное время
51
- ```
55
+ ```C++
52
56
using namespace xtime;
53
57
54
58
xtime::xtime_timestamp unixEpoch = 1527120000;
55
59
DateTime iTime = convert_timestamp_to_datetime(unixEpoch);
56
60
```
57
61
+ Получить день недели
58
- ```
62
+ ``` C++
59
63
using namespace xtime ;
60
64
61
65
// Получить номер дня недели
@@ -78,7 +82,7 @@ DateTime iTime(24,5,2018);
78
82
wday = iTime.get_weekday();
79
83
```
80
84
+ Конвертировать строку в формате ISO в данные класса DateTime
81
- ```
85
+ ```C++
82
86
using namespace xtime;
83
87
84
88
DateTime iTime;
@@ -88,7 +92,7 @@ if(convert_iso(strISOformattedUTCdatetime, iTime) == true) {
88
92
}
89
93
```
90
94
+ Перевод времени CET во время GMT и обратно с учетом перехода на зимнее время
91
- ```
95
+ ``` C++
92
96
using namespace xtime ;
93
97
// получаем время GMT для примера
94
98
DateTime startTime (20,3,2018);
@@ -101,14 +105,14 @@ DateTime realGMT(convert_cet_to_gmt(realCET.get_unix_timestamp()));
101
105
realGMT.print();
102
106
```
103
107
+ Получить Unix-время компьютера
104
- ```
108
+ ```C++
105
109
using namespace xtime;
106
110
107
111
unsigned long long t = get_unix_timestamp();
108
112
std::string str = get_str_unix_date_time(); // В строке время будет предсталвено как в примере (24.05.2018 00:00:00)
109
113
```
110
114
+ Получить количество дней в месяце
111
- ```
115
+ ``` C++
112
116
using namespace xtime ;
113
117
114
118
int month = 2 ;
@@ -121,7 +125,7 @@ DateTime iTime(20,3,2018);
121
125
std::cout << iTime.get_num_days_current_month() << std::endl;
122
126
```
123
127
+ Проверка високосного года
124
- ```
128
+ ```C++
125
129
using namespace xtime;
126
130
127
131
int year = 2018;
@@ -136,4 +140,8 @@ if(iTime.is_leap_year()) {
136
140
}
137
141
```
138
142
143
+ ### Автор
144
+
145
+ Elektro Yar [ electroyar2@gmail.com ] ( electroyar2@gmail.com )
146
+
139
147
0 commit comments