Time Shield Library
C++ library for working with time
Toggle main menu visibility
Loading...
Searching...
No Matches
time_formatting_example.cpp
Go to the documentation of this file.
1
3
4
#include <
time_shield/time_formatting.hpp
>
5
6
#include <chrono>
7
#include <iostream>
8
9
int
main
() {
10
using namespace
time_shield
;
11
12
const
std::chrono::system_clock::time_point
now
= std::chrono::system_clock::now();
13
const
ts_t
now_sec =
static_cast<
ts_t
>
(std::chrono::system_clock::to_time_t(
now
));
14
const
ts_ms_t
now_ms =
static_cast<
ts_ms_t
>
(
15
std::chrono::duration_cast<std::chrono::milliseconds>(
now
.time_since_epoch()).count());
16
const
tz_t
utc_offset = 2 *
SEC_PER_HOUR
+ 30 *
SEC_PER_MIN
;
17
18
std::cout <<
"ISO8601 UTC: "
<<
to_iso8601
(now_sec) <<
'\n'
;
19
std::cout <<
"ISO8601 UTC (ms): "
<<
to_iso8601_ms
(now_ms) <<
'\n'
;
20
std::cout <<
"ISO8601 with offset: "
<<
to_iso8601
(now_sec, utc_offset) <<
'\n'
;
21
std::cout <<
"Custom UTC format: "
22
<<
to_string
(
"%Y-%m-%d %H:%M:%S"
, now_sec) <<
'\n'
;
23
std::cout <<
"Custom local format: "
24
<<
to_string
(
"%Y-%m-%d %H:%M:%S %z"
, now_sec, utc_offset) <<
'\n'
;
25
std::cout <<
"Filename-safe string: "
<<
to_windows_filename
(now_sec) <<
'\n'
;
26
27
return
0;
28
}
time_shield::SEC_PER_HOUR
constexpr int64_t SEC_PER_HOUR
Seconds per hour.
Definition
constants.hpp:107
time_shield::SEC_PER_MIN
constexpr int64_t SEC_PER_MIN
Seconds per minute.
Definition
constants.hpp:100
time_shield::to_string
const std::string to_string(const std::string &format_str, T timestamp, tz_t utc_offset=0)
Convert timestamp to string with custom format.
Definition
time_formatting.hpp:425
time_shield::to_iso8601_ms
const std::string to_iso8601_ms(ts_ms_t ts_ms)
Converts a timestamp in milliseconds to an ISO8601 string.
Definition
time_formatting.hpp:730
time_shield::to_windows_filename
const std::string to_windows_filename(ts_t ts)
Converts a timestamp in seconds to a Windows-compatible filename format.
Definition
time_formatting.hpp:930
time_shield::to_iso8601
const std::string to_iso8601(T ts)
Converts a timestamp to an ISO8601 string.
Definition
time_formatting.hpp:574
time_shield::ts_t
int64_t ts_t
Unix timestamp in seconds since 1970‑01‑01T00:00:00Z.
Definition
types.hpp:49
time_shield::tz_t
int32_t tz_t
Time zone offset in minutes from UTC (e.g., +180 = UTC+3).
Definition
types.hpp:61
time_shield::ts_ms_t
int64_t ts_ms_t
Unix timestamp in milliseconds since epoch.
Definition
types.hpp:50
time_shield::now
ts_ms_t now() noexcept
Get the current UTC timestamp in milliseconds.
Definition
time_utils.hpp:258
time_shield
Main namespace for the Time Shield library.
time_formatting.hpp
Header file for time formatting utilities.
main
int main()
Definition
time_formatting_example.cpp:9
examples
time_formatting_example.cpp
Generated by
1.17.0