DDNet documentation
Loading...
Searching...
No Matches
time.h
Go to the documentation of this file.
1/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
2/* If you are missing that file, acquire a complete release at teeworlds.com. */
3
4#ifndef BASE_TIME_H
5#define BASE_TIME_H
6
7#include <chrono>
8#include <cstdint>
9#include <ctime>
10
18
26
34void set_new_tick();
35
43std::chrono::nanoseconds time_get_nanoseconds();
44
56int64_t time_get_impl();
57
71int64_t time_get();
72
78int64_t time_freq();
79
87int64_t time_timestamp();
88
97
114
123
134void str_timestamp(char *buffer, int buffer_size);
135
148[[gnu::format(strftime, 3, 0)]] void str_timestamp_format(char *buffer, int buffer_size, const char *format);
149
163[[gnu::format(strftime, 4, 0)]] void str_timestamp_ex(time_t time, char *buffer, int buffer_size, const char *format);
164
176[[gnu::format(strftime, 2, 0)]] bool timestamp_from_str(const char *string, const char *format, time_t *timestamp);
177
188{
189 inline const char *const TIME = "%H:%M:%S";
190 inline const char *const SPACE = "%Y-%m-%d %H:%M:%S";
191 inline const char *const NOSPACE = "%Y-%m-%d_%H-%M-%S";
192}
193
211
224int64_t time_milliseconds_from_seconds(float seconds);
225
238int str_time(int64_t centisecs, ETimeFormat format, char *buffer, int buffer_size);
239
254int str_time_float(float secs, ETimeFormat format, char *buffer, int buffer_size);
255
256#endif
std::chrono::nanoseconds time_get_nanoseconds()
Definition time.cpp:25
ETimeSeason
Definition time.h:104
void set_new_tick()
Definition time.cpp:16
int64_t time_freq()
Definition time.cpp:47
int time_houroftheday()
Definition time.cpp:73
ETimeSeason time_season()
Definition time.cpp:111
int64_t time_get()
Definition time.cpp:35
int64_t time_get_impl()
Definition time.cpp:30
@ NEWYEAR
Definition time.h:112
@ XMAS
Definition time.h:111
@ SPRING
Definition time.h:105
@ EASTER
Definition time.h:109
@ WINTER
Definition time.h:108
@ AUTUMN
Definition time.h:107
@ HALLOWEEN
Definition time.h:110
@ SUMMER
Definition time.h:106
int str_time(int64_t centisecs, ETimeFormat format, char *buffer, int buffer_size)
Definition time.cpp:204
ETimeFormat
Definition time.h:203
bool timestamp_from_str(const char *string, const char *format, time_t *timestamp)
Definition time.cpp:180
int64_t time_milliseconds_from_seconds(float seconds)
Definition time.cpp:199
int64_t time_timestamp()
Definition time.cpp:53
void str_timestamp(char *buffer, int buffer_size)
Definition time.cpp:161
void str_timestamp_format(char *buffer, int buffer_size, const char *format)
Definition time.cpp:166
int str_time_float(float secs, ETimeFormat format, char *buffer, int buffer_size)
Definition time.cpp:248
void str_timestamp_ex(time_t time, char *buffer, int buffer_size, const char *format)
Definition time.cpp:173
@ SECS_CENTISECS
Definition time.h:209
@ HOURS
Definition time.h:205
@ DAYS
Definition time.h:204
@ MINS
Definition time.h:206
@ MINS_CENTISECS
Definition time.h:208
@ HOURS_CENTISECS
Definition time.h:207
Definition time.h:188
const char *const SPACE
Definition time.h:190
const char *const NOSPACE
Definition time.h:191
const char *const TIME
Definition time.h:189