|
Time Shield Library
C++ library for working with time
|
A comprehensive set of functions for parsing and converting date and time strings. More...
Namespaces | |
| namespace | time_shield::detail |
Functions | |
| bool | time_shield::try_parse_format (const char *data, std::size_t length, const char *format, std::size_t format_length, DateTimeStruct &out_dt, TimeZoneStruct &out_tz) noexcept |
| Parse input using formatter-compatible custom pattern. | |
| bool | time_shield::try_parse_format_ts (const char *data, std::size_t length, const char *format, std::size_t format_length, ts_t &out_ts) noexcept |
| Parse input using formatter-compatible custom pattern and convert to UTC seconds. | |
| bool | time_shield::try_parse_format_ts_ms (const char *data, std::size_t length, const char *format, std::size_t format_length, ts_ms_t &out_ts) noexcept |
| Parse input using formatter-compatible custom pattern and convert to UTC milliseconds. | |
| bool | time_shield::try_parse_format (const std::string &data, const std::string &format, DateTimeStruct &out_dt, TimeZoneStruct &out_tz) noexcept |
| Parse std::string using formatter-compatible custom pattern. | |
| bool | time_shield::try_parse_format (const char *data, const char *format, DateTimeStruct &out_dt, TimeZoneStruct &out_tz) noexcept |
| Parse null-terminated strings using formatter-compatible custom pattern. | |
| bool | time_shield::try_parse_format_ts (const std::string &data, const std::string &format, ts_t &out_ts) noexcept |
| Parse std::string using formatter-compatible custom pattern and convert to UTC seconds. | |
| bool | time_shield::try_parse_format_ts (const char *data, const char *format, ts_t &out_ts) noexcept |
| Parse null-terminated strings using custom format and convert to UTC seconds. | |
| bool | time_shield::try_parse_format_ts_ms (const std::string &data, const std::string &format, ts_ms_t &out_ts) noexcept |
| Parse std::string using formatter-compatible custom pattern and convert to UTC milliseconds. | |
| bool | time_shield::try_parse_format_ts_ms (const char *data, const char *format, ts_ms_t &out_ts) noexcept |
| Parse null-terminated strings using custom format and convert to UTC milliseconds. | |
| bool | time_shield::try_parse_format (std::string_view data, std::string_view format, DateTimeStruct &out_dt, TimeZoneStruct &out_tz) noexcept |
| Parse std::string_view using formatter-compatible custom pattern. | |
| bool | time_shield::try_parse_format_ts (std::string_view data, std::string_view format, ts_t &out_ts) noexcept |
| Parse std::string_view using formatter-compatible custom pattern and convert to UTC seconds. | |
| bool | time_shield::try_parse_format_ts_ms (std::string_view data, std::string_view format, ts_ms_t &out_ts) noexcept |
| Parse std::string_view using formatter-compatible custom pattern and convert to UTC milliseconds. | |
| bool | time_shield::try_parse_month (const std::string &month, int &value) |
| Try parse month name token into month index [1..12]. | |
| int | time_shield::parse_month (const std::string &month) |
| Parse month name token into month index [1..12]. | |
| bool | time_shield::try_parse_month (std::string_view month, int &value) |
| Try parse month name token into month index [1..12], string_view overload. | |
| int | time_shield::parse_month (std::string_view month) |
| Parse month name token into month index [1..12], string_view overload. | |
| template<class T = Month> | |
| T | time_shield::parse_month_enum (const std::string &month) |
| Parse month name token into Month enum (throwing). | |
| template<class T = Month> | |
| bool | time_shield::try_parse_month_enum (const std::string &month, T &value) |
| Try parse month name token into Month enum (or any T). | |
| template<class T = Month> | |
| T | time_shield::parse_month_enum (std::string_view month) |
| Parse month name token into Month enum (throwing), string_view overload. | |
| template<class T = Month> | |
| bool | time_shield::try_parse_month_enum (std::string_view month, T &value) |
| Try parse month name token into Month enum (or any T), string_view overload. | |
| bool | time_shield::try_get_month_index (const std::string &month, int &value) |
| Try parse month name token into month index [1..12]. | |
| int | time_shield::get_month_index (const std::string &month) |
| Parse month name token into month index [1..12]. | |
| Month | time_shield::get_month_index_enum (const std::string &month) |
| Parse month name token into Month enum. | |
| bool | time_shield::try_get_month_index (std::string_view month, int &value) |
| Try parse month name token into month index [1..12], string_view overload. | |
| int | time_shield::get_month_index (std::string_view month) |
| Parse month name token into month index [1..12], string_view overload. | |
| Month | time_shield::get_month_index_enum (std::string_view month) |
| Parse month name token into Month enum, string_view overload. | |
| template<class T = Month> | |
| T | time_shield::get_month_number (const std::string &month) |
| Get the month number by name (throwing). | |
| template<class T = Month> | |
| T | time_shield::month_of_year (const std::string &month) |
| Alias for get_month_number (throwing). | |
| template<class T = Month> | |
| bool | time_shield::try_get_month_number (const std::string &month, T &value) |
| Try get the month number by name, with output parameter. | |
| template<class T = Month> | |
| bool | time_shield::get_month_number (const std::string &month, T &value) |
| Alias for try_get_month_number (output parameter). | |
| template<class T = Month> | |
| bool | time_shield::month_of_year (const std::string &month, T &value) |
| Alias for try_get_month_number (output parameter). | |
| template<class T = Month> | |
| T | time_shield::get_month_number (std::string_view month) |
| Get the month number by name (throwing), string_view overload. | |
| template<class T = Month> | |
| T | time_shield::month_of_year (std::string_view month) |
| Alias for get_month_number (throwing), string_view overload. | |
| template<class T = Month> | |
| bool | time_shield::try_get_month_number (std::string_view month, T &value) |
| Try get the month number by name, string_view overload. | |
| template<class T = Month> | |
| bool | time_shield::get_month_number (std::string_view month, T &value) |
| Alias for try_get_month_number, string_view overload. | |
| template<class T = Month> | |
| bool | time_shield::month_of_year (std::string_view month, T &value) |
| Alias for try_get_month_number, string_view overload. | |
| template<class T = Month> | |
| T | time_shield::get_month_number (const char *month) |
| Get the month number by name (throwing), const char* overload. | |
| template<class T = Month> | |
| bool | time_shield::try_get_month_number (const char *month, T &value) |
| Try get the month number by name, const char* overload. | |
| template<class T = Month> | |
| T | time_shield::month_of_year (const char *month) |
| Alias for get_month_number (throwing), const char* overload. | |
| template<class T = Month> | |
| bool | time_shield::get_month_number (const char *month, T &value) |
| Alias for try_get_month_number (output parameter), const char* overload. | |
| template<class T = Month> | |
| bool | time_shield::month_of_year (const char *month, T &value) |
| Alias for try_get_month_number (output parameter), const char* overload. | |
| bool | time_shield::parse_time_zone (const char *data, std::size_t length, TimeZoneStruct &tz) noexcept |
| Parse timezone character buffer into TimeZoneStruct. | |
| bool | time_shield::parse_time_zone (const std::string &tz_str, TimeZoneStruct &tz) noexcept |
| Parse timezone string into TimeZoneStruct. | |
| bool | time_shield::parse_tz (const std::string &tz_str, TimeZoneStruct &tz) noexcept |
| Alias for parse_time_zone. | |
| bool | time_shield::parse_tz (const char *data, std::size_t length, TimeZoneStruct &tz) noexcept |
| Alias for parse_time_zone (buffer overload). | |
| bool | time_shield::parse_time_zone_name (const char *data, std::size_t length, TimeZone &zone) noexcept |
| Parse named time zone character buffer into TimeZone enum. | |
| bool | time_shield::parse_time_zone_name (const std::string &value, TimeZone &zone) noexcept |
| Parse named time zone string into TimeZone enum. | |
| bool | time_shield::parse_time_zone_name (std::string_view value, TimeZone &zone) noexcept |
| Parse named time zone string_view into TimeZone enum. | |
| bool | time_shield::parse_time_zone_name (const char *value, TimeZone &zone) noexcept |
| Parse named time zone C-string into TimeZone enum. | |
| bool | time_shield::parse_tz_name (const char *data, std::size_t length, TimeZone &zone) noexcept |
| Alias for parse_time_zone_name. | |
| bool | time_shield::parse_tz_name (const std::string &value, TimeZone &zone) noexcept |
| Alias for parse_time_zone_name. | |
| bool | time_shield::parse_tz_name (std::string_view value, TimeZone &zone) noexcept |
| Alias for parse_time_zone_name. | |
| bool | time_shield::parse_tz_name (const char *value, TimeZone &zone) noexcept |
| Alias for parse_time_zone_name. | |
| bool | time_shield::parse_iso8601 (const char *input, std::size_t length, DateTimeStruct &dt, TimeZoneStruct &tz) noexcept |
| Parse ISO8601 character buffer into DateTimeStruct and TimeZoneStruct. | |
| bool | time_shield::parse_iso8601 (const std::string &input, DateTimeStruct &dt, TimeZoneStruct &tz) noexcept |
| Parse ISO8601 string into DateTimeStruct and TimeZoneStruct. | |
| bool | time_shield::parse_iso8601 (const char *input, DateTimeStruct &dt, TimeZoneStruct &tz) noexcept |
| Parse ISO8601 C-string into DateTimeStruct and TimeZoneStruct. | |
| bool | time_shield::parse_iso8601 (std::string_view input, DateTimeStruct &dt, TimeZoneStruct &tz) noexcept |
| Parse ISO8601 view into DateTimeStruct and TimeZoneStruct. | |
| bool | time_shield::str_to_ts (const std::string &str, ts_t &ts) |
| Convert an ISO8601 string to a timestamp (ts_t). | |
| bool | time_shield::str_to_ts (const char *data, std::size_t length, ts_t &ts) |
| Parse ISO8601 character buffer and convert to timestamp (seconds). | |
| bool | time_shield::str_to_ts_ms (const std::string &str, ts_ms_t &ts) |
| Convert an ISO8601 string to a millisecond timestamp (ts_ms_t). | |
| bool | time_shield::str_to_ts_ms (const char *data, std::size_t length, ts_ms_t &ts) |
| Convert ISO8601 character buffer to millisecond timestamp (ts_ms_t). | |
| bool | time_shield::str_to_fts (const std::string &str, fts_t &ts) |
| Convert an ISO8601 string to a floating-point timestamp (fts_t). | |
| bool | time_shield::str_to_fts (const char *data, std::size_t length, fts_t &ts) |
| Convert ISO8601 character buffer to floating-point timestamp (fts_t). | |
| bool | time_shield::is_workday (const std::string &str) |
| Parse ISO8601 string and check if it falls on a workday (seconds precision). | |
| bool | time_shield::is_workday_ms (const std::string &str) |
| Parse ISO8601 string and check if it falls on a workday (milliseconds precision). | |
| bool | time_shield::workday (const std::string &str) |
| Alias for is_workday(const std::string&). | |
| bool | time_shield::workday_ms (const std::string &str) |
| Alias for is_workday_ms(const std::string&). | |
| bool | time_shield::is_first_workday_of_month (const std::string &str) |
| Parse ISO8601 string and check if it is the first workday of its month (seconds). | |
| bool | time_shield::is_first_workday_of_month_ms (const std::string &str) |
| Parse an ISO8601 string and check if it is the first workday of its month (millisecond precision). | |
| bool | time_shield::is_last_workday_of_month (const std::string &str) |
| Parse an ISO8601 string and check if it is the last workday of its month (seconds). | |
| bool | time_shield::is_last_workday_of_month_ms (const std::string &str) |
| Parse an ISO8601 string and check if it is the last workday of its month (millisecond). | |
| bool | time_shield::is_within_first_workdays_of_month (const std::string &str, int count) |
| Parse an ISO8601 string and check if it falls within the first N workdays of its month. | |
| bool | time_shield::is_within_first_workdays_of_month_ms (const std::string &str, int count) |
| Parse an ISO8601 string and check if it falls within the first N workdays of its month (millisecond precision). | |
| bool | time_shield::is_within_last_workdays_of_month (const std::string &str, int count) |
| Parse ISO8601 string and check if it is within last N workdays of its month (seconds). | |
| bool | time_shield::is_within_last_workdays_of_month_ms (const std::string &str, int count) |
| Parse ISO8601 string and check if it is within last N workdays of its month (milliseconds). | |
| ts_t | time_shield::ts (const char *str) |
| Convert ISO8601 C-string to timestamp (seconds). | |
| ts_t | time_shield::ts (const char *data, std::size_t length) |
| Convert ISO8601 character buffer to timestamp (seconds). | |
| ts_ms_t | time_shield::ts_ms (const char *str) |
| Convert ISO8601 C-string to timestamp (milliseconds). | |
| ts_ms_t | time_shield::ts_ms (const char *data, std::size_t length) |
| Convert ISO8601 character buffer to timestamp (milliseconds). | |
| fts_t | time_shield::fts (const char *str) |
| Convert ISO8601 C-string to floating timestamp (seconds). | |
| fts_t | time_shield::fts (const char *data, std::size_t length) |
| Convert ISO8601 character buffer to floating timestamp (seconds). | |
| ts_t | time_shield::ts (const std::string &str) |
| Convert an ISO8601 string to a timestamp (ts_t). | |
| ts_ms_t | time_shield::ts_ms (const std::string &str) |
| Convert an ISO8601 string to a millisecond timestamp (ts_ms_t). | |
| fts_t | time_shield::fts (const std::string &str) |
| Convert an ISO8601 string to a floating-point timestamp (fts_t). | |
| template<class T = int> | |
| bool | time_shield::sec_of_day (const std::string &str, T &sec) |
| Parse time of day string to seconds of day. | |
| template<class T = int> | |
| T | time_shield::sec_of_day (const std::string &str) |
| Convert time of day string to seconds of day. | |
| int | time_shield::get_month_number (string month) |
| Get the month number by name. | |
| int | time_shield::month_of_year (string month) |
| Alias for get_month_number function. | |
| bool | time_shield::try_get_month_number (string month, int &value) |
| Get the month number by name, with output parameter. | |
| bool | time_shield::get_month_number (string month, int &value) |
| Alias for try_get_month_number function. | |
| bool | time_shield::month_of_year (string month, int &value) |
| Alias for try_get_month_number function. | |
| bool | time_shield::parse_time_zone (string tz_str, TimeZoneStruct &tz) |
| Parse a time zone string into a TimeZoneStruct. | |
| bool | time_shield::parse_tz (string tz_str, TimeZoneStruct &tz) |
| Alias for parse_time_zone function. | |
| bool | time_shield::parse_iso8601 (string input_str, DateTimeStruct &dt, TimeZoneStruct &tz) |
| Parse a date and time string in ISO8601 format. | |
| bool | time_shield::str_to_ts (string str, long &ts) |
| Convert an ISO8601 string to a timestamp (ts_t). | |
| bool | time_shield::str_to_ts_ms (string str, long &ts) |
| Convert an ISO8601 string to a millisecond timestamp (ts_ms_t). | |
| bool | time_shield::is_workday (string str) |
| Parse ISO8601 string and check for workday using second precision. | |
| bool | time_shield::workday (string str) |
| Alias for is_workday. | |
| bool | time_shield::is_workday_ms (string str) |
| Parse ISO8601 string and check for workday using millisecond precision. | |
| bool | time_shield::workday_ms (string str) |
| Alias for is_workday_ms. | |
| bool | time_shield::is_first_workday_of_month (string str) |
| Parse ISO8601 string and check for the first workday of the month using second precision. | |
| bool | time_shield::is_first_workday_of_month_ms (string str) |
| Parse ISO8601 string and check for the first workday of the month using millisecond precision. | |
| bool | time_shield::is_within_first_workdays_of_month (string str, int count) |
| Parse ISO8601 string and check if it falls within the first N workdays of the month using second precision. | |
| bool | time_shield::is_within_first_workdays_of_month_ms (string str, int count) |
| Parse ISO8601 string and check if it falls within the first N workdays of the month using millisecond precision. | |
| bool | time_shield::is_last_workday_of_month (string str) |
| Parse ISO8601 string and check for the last workday of the month using second precision. | |
| bool | time_shield::is_last_workday_of_month_ms (string str) |
| Parse ISO8601 string and check for the last workday of the month using millisecond precision. | |
| bool | time_shield::is_within_last_workdays_of_month (string str, int count) |
| Parse ISO8601 string and check if it falls within the last N workdays of the month using second precision. | |
| bool | time_shield::is_within_last_workdays_of_month_ms (string str, int count) |
| Parse ISO8601 string and check if it falls within the last N workdays of the month using millisecond precision. | |
| long | time_shield::start_of_first_workday_month (string str) |
| Parse ISO8601 string and return start of the first workday of that month in seconds. | |
| long | time_shield::start_of_first_workday_month_ms (string str) |
| Parse ISO8601 string and return start of the first workday of that month in milliseconds. | |
| long | time_shield::end_of_first_workday_month (string str) |
| Parse ISO8601 string and return end of the first workday of that month in seconds. | |
| long | time_shield::end_of_first_workday_month_ms (string str) |
| Parse ISO8601 string and return end of the first workday of that month in milliseconds. | |
| long | time_shield::start_of_last_workday_month (string str) |
| Parse ISO8601 string and return start of the last workday of that month in seconds. | |
| long | time_shield::start_of_last_workday_month_ms (string str) |
| Parse ISO8601 string and return start of the last workday of that month in milliseconds. | |
| long | time_shield::end_of_last_workday_month (string str) |
| Parse ISO8601 string and return end of the last workday of that month in seconds. | |
| long | time_shield::end_of_last_workday_month_ms (string str) |
| Parse ISO8601 string and return end of the last workday of that month in milliseconds. | |
| bool | time_shield::str_to_fts (string str, double &ts) |
| Convert an ISO8601 string to a floating-point timestamp (fts_t). | |
| long | time_shield::ts (string str) |
| Convert an ISO8601 string to a timestamp (ts_t). | |
| long | time_shield::ts_ms (string str) |
| Convert an ISO8601 string to a millisecond timestamp (ts_ms_t). | |
| double | time_shield::fts (string str) |
| Convert an ISO8601 string to a floating-point timestamp (fts_t). | |
| int | time_shield::sec_of_day (string str) |
| Convert string with time of day to second of day. | |
A comprehensive set of functions for parsing and converting date and time strings.
This module provides utilities for parsing date and time strings in ISO8601 format, extracting date components, and converting them into various timestamp formats.
| long time_shield::end_of_first_workday_month | ( | string | str | ) |
Parse ISO8601 string and return end of the first workday of that month in seconds.
| str | ISO8601 formatted string. |
Definition at line 335 of file time_parser.mqh.
| long time_shield::end_of_first_workday_month_ms | ( | string | str | ) |
Parse ISO8601 string and return end of the first workday of that month in milliseconds.
| str | ISO8601 formatted string. |
Definition at line 345 of file time_parser.mqh.
| long time_shield::end_of_last_workday_month | ( | string | str | ) |
Parse ISO8601 string and return end of the last workday of that month in seconds.
| str | ISO8601 formatted string. |
Definition at line 375 of file time_parser.mqh.
| long time_shield::end_of_last_workday_month_ms | ( | string | str | ) |
Parse ISO8601 string and return end of the last workday of that month in milliseconds.
| str | ISO8601 formatted string. |
Definition at line 385 of file time_parser.mqh.
|
inline |
Convert ISO8601 character buffer to floating timestamp (seconds).
Does not require null terminator. Returns 0 on failure.
| data | Pointer to character buffer. |
| length | Number of characters in buffer. |
Definition at line 1247 of file time_parser.hpp.
|
inline |
Convert ISO8601 C-string to floating timestamp (seconds).
Returns 0 on failure.
| str | C-style string with ISO8601 timestamp, may be nullptr. |
Definition at line 1236 of file time_parser.hpp.
|
inline |
Convert an ISO8601 string to a floating-point timestamp (fts_t).
This function parses a string in ISO8601 format and converts it to a floating-point timestamp. If the parsing fails, it returns 0.
| str | The ISO8601 string. |
Definition at line 1284 of file time_parser.hpp.
| double time_shield::fts | ( | string | str | ) |
Convert an ISO8601 string to a floating-point timestamp (fts_t).
Returns 0.0 if parsing fails.
| str | The ISO8601 string. |
Definition at line 427 of file time_parser.mqh.
|
inline |
Parse month name token into month index [1..12].
| month | Month token. |
| std::invalid_argument | if token is invalid. |
Definition at line 459 of file time_parser.hpp.
|
inline |
Parse month name token into month index [1..12], string_view overload.
Definition at line 478 of file time_parser.hpp.
|
inline |
Parse month name token into Month enum.
| month | Month token. |
| std::invalid_argument | if token is invalid. |
Definition at line 467 of file time_parser.hpp.
|
inline |
Parse month name token into Month enum, string_view overload.
Definition at line 483 of file time_parser.hpp.
|
inline |
Get the month number by name (throwing), const char* overload.
| T | Return type, default is Month enum. |
| month | Month token C-string. |
| std::invalid_argument | if token is invalid. |
Definition at line 568 of file time_parser.hpp.
|
inline |
Alias for try_get_month_number (output parameter), const char* overload.
Definition at line 598 of file time_parser.hpp.
|
inline |
Get the month number by name (throwing).
| T | Return type, default is Month enum. |
| month | Month token. |
| std::invalid_argument | if token is invalid. |
Definition at line 496 of file time_parser.hpp.
|
inline |
Alias for try_get_month_number (output parameter).
Definition at line 518 of file time_parser.hpp.
|
inline |
Get the month number by name (throwing), string_view overload.
Definition at line 531 of file time_parser.hpp.
|
inline |
Alias for try_get_month_number, string_view overload.
Definition at line 549 of file time_parser.hpp.
| int time_shield::get_month_number | ( | string | month | ) |
Get the month number by name.
| month | The name of the month as a string. |
Definition at line 39 of file time_parser.mqh.
| bool time_shield::get_month_number | ( | string | month, |
| int & | value ) |
Alias for try_get_month_number function.
Try get the month number by name, with output parameter.
| T | Output type, default is Month enum. |
| month | Month token. |
| value | Output month number (1..12) converted to T. |
Definition at line 80 of file time_parser.mqh.
|
inline |
Parse ISO8601 string and check if it is the first workday of its month (seconds).
| str | ISO8601 formatted string. |
Definition at line 1108 of file time_parser.hpp.
| bool time_shield::is_first_workday_of_month | ( | string | str | ) |
Parse ISO8601 string and check for the first workday of the month using second precision.
| str | ISO8601 formatted string. |
Definition at line 231 of file time_parser.mqh.
|
inline |
Parse an ISO8601 string and check if it is the first workday of its month (millisecond precision).
| str | ISO8601 formatted string. |
Definition at line 1117 of file time_parser.hpp.
| bool time_shield::is_first_workday_of_month_ms | ( | string | str | ) |
Parse ISO8601 string and check for the first workday of the month using millisecond precision.
| str | ISO8601 formatted string. |
Definition at line 241 of file time_parser.mqh.
|
inline |
Parse an ISO8601 string and check if it is the last workday of its month (seconds).
| str | ISO8601 formatted string. |
Definition at line 1126 of file time_parser.hpp.
| bool time_shield::is_last_workday_of_month | ( | string | str | ) |
Parse ISO8601 string and check for the last workday of the month using second precision.
| str | ISO8601 formatted string. |
Definition at line 273 of file time_parser.mqh.
|
inline |
Parse an ISO8601 string and check if it is the last workday of its month (millisecond).
| str | ISO8601 formatted string. |
Definition at line 1135 of file time_parser.hpp.
| bool time_shield::is_last_workday_of_month_ms | ( | string | str | ) |
Parse ISO8601 string and check for the last workday of the month using millisecond precision.
| str | ISO8601 formatted string. |
Definition at line 283 of file time_parser.mqh.
|
inline |
Parse an ISO8601 string and check if it falls within the first N workdays of its month.
| str | ISO8601 formatted string. |
| count | Number of leading workdays to test against. |
Definition at line 1145 of file time_parser.hpp.
| bool time_shield::is_within_first_workdays_of_month | ( | string | str, |
| int | count ) |
Parse ISO8601 string and check if it falls within the first N workdays of the month using second precision.
| str | ISO8601 formatted string. |
| count | Number of leading workdays to test. |
Definition at line 252 of file time_parser.mqh.
|
inline |
Parse an ISO8601 string and check if it falls within the first N workdays of its month (millisecond precision).
| str | ISO8601 formatted string. |
| count | Number of leading workdays to test against. |
Definition at line 1155 of file time_parser.hpp.
| bool time_shield::is_within_first_workdays_of_month_ms | ( | string | str, |
| int | count ) |
Parse ISO8601 string and check if it falls within the first N workdays of the month using millisecond precision.
| str | ISO8601 formatted string. |
| count | Number of leading workdays to test. |
Definition at line 263 of file time_parser.mqh.
|
inline |
Parse ISO8601 string and check if it is within last N workdays of its month (seconds).
| str | ISO8601 formatted string. |
| count | Number of trailing workdays to test against. |
Definition at line 1165 of file time_parser.hpp.
| bool time_shield::is_within_last_workdays_of_month | ( | string | str, |
| int | count ) |
Parse ISO8601 string and check if it falls within the last N workdays of the month using second precision.
| str | ISO8601 formatted string. |
| count | Number of trailing workdays to test. |
Definition at line 294 of file time_parser.mqh.
|
inline |
Parse ISO8601 string and check if it is within last N workdays of its month (milliseconds).
| str | ISO8601 formatted string. |
| count | Number of trailing workdays to test against. |
Definition at line 1175 of file time_parser.hpp.
| bool time_shield::is_within_last_workdays_of_month_ms | ( | string | str, |
| int | count ) |
Parse ISO8601 string and check if it falls within the last N workdays of the month using millisecond precision.
| str | ISO8601 formatted string. |
| count | Number of trailing workdays to test. |
Definition at line 305 of file time_parser.mqh.
|
inline |
Parse ISO8601 string and check if it falls on a workday (seconds precision).
Definition at line 1080 of file time_parser.hpp.
| bool time_shield::is_workday | ( | string | str | ) |
Parse ISO8601 string and check for workday using second precision.
| str | ISO8601 formatted string. |
Definition at line 203 of file time_parser.mqh.
|
inline |
Parse ISO8601 string and check if it falls on a workday (milliseconds precision).
Definition at line 1087 of file time_parser.hpp.
| bool time_shield::is_workday_ms | ( | string | str | ) |
Parse ISO8601 string and check for workday using millisecond precision.
| str | ISO8601 formatted string. |
Definition at line 217 of file time_parser.mqh.
|
inline |
Alias for get_month_number (throwing), const char* overload.
Definition at line 592 of file time_parser.hpp.
|
inline |
Alias for try_get_month_number (output parameter), const char* overload.
Definition at line 604 of file time_parser.hpp.
|
inline |
Alias for get_month_number (throwing).
Definition at line 502 of file time_parser.hpp.
|
inline |
Alias for try_get_month_number (output parameter).
Definition at line 524 of file time_parser.hpp.
|
inline |
Alias for get_month_number (throwing), string_view overload.
Definition at line 537 of file time_parser.hpp.
|
inline |
Alias for try_get_month_number, string_view overload.
Definition at line 555 of file time_parser.hpp.
| int time_shield::month_of_year | ( | string | month | ) |
Alias for get_month_number function.
Get the month number by name (throwing).
| T | Return type, default is Month enum. |
| month | Month token. |
| std::invalid_argument | if token is invalid. |
Definition at line 62 of file time_parser.mqh.
| bool time_shield::month_of_year | ( | string | month, |
| int & | value ) |
Alias for try_get_month_number function.
Try get the month number by name, with output parameter.
| T | Output type, default is Month enum. |
| month | Month token. |
| value | Output month number (1..12) converted to T. |
Definition at line 84 of file time_parser.mqh.
|
inlinenoexcept |
Parse ISO8601 C-string into DateTimeStruct and TimeZoneStruct.
Wrapper over parse_iso8601(const char*, std::size_t, DateTimeStruct&, TimeZoneStruct&).
Definition at line 951 of file time_parser.hpp.
|
inlinenoexcept |
Parse ISO8601 character buffer into DateTimeStruct and TimeZoneStruct.
Supported inputs:
Date separators supported: '-', '/', '.' (as in original regex). ISO week-date forms are also accepted through parse_iso_week_date(), including canonical and compatible mixed separator variants with optional weekday and uppercase or lowercase W.
| input | Pointer to buffer (may be not null-terminated). |
| length | Buffer length. |
| dt | Output DateTimeStruct (filled). On success, dt is always initialized. |
| tz | Output TimeZoneStruct (filled). If timezone is not present, UTC is used. |
Definition at line 776 of file time_parser.hpp.
|
inlinenoexcept |
Parse ISO8601 string into DateTimeStruct and TimeZoneStruct.
Wrapper over parse_iso8601(const char*, std::size_t, DateTimeStruct&, TimeZoneStruct&).
Definition at line 945 of file time_parser.hpp.
|
inlinenoexcept |
Parse ISO8601 view into DateTimeStruct and TimeZoneStruct.
Wrapper over parse_iso8601(const char*, std::size_t, DateTimeStruct&, TimeZoneStruct&).
Definition at line 961 of file time_parser.hpp.
| bool time_shield::parse_iso8601 | ( | string | input_str, |
| DateTimeStruct & | dt, | ||
| TimeZoneStruct & | tz ) |
Parse a date and time string in ISO8601 format.
| input_str | The input string in ISO8601 format. |
| dt | The DateTimeStruct to be filled with parsed values. |
| tz | The TimeZoneStruct to be filled with parsed time zone. |
Definition at line 117 of file time_parser.mqh.
|
inline |
Parse month name token into month index [1..12].
| month | Month token. |
| std::invalid_argument | if token is invalid. |
Definition at line 373 of file time_parser.hpp.
|
inline |
Parse month name token into month index [1..12], string_view overload.
| month | Month token view. |
| std::invalid_argument | if token is invalid. |
Definition at line 390 of file time_parser.hpp.
|
inline |
|
inline |
Parse month name token into Month enum (throwing), string_view overload.
| T | Return type, default is Month enum. |
| month | Month token view. |
| std::invalid_argument | if token is invalid. |
Definition at line 427 of file time_parser.hpp.
|
inlinenoexcept |
Parse timezone character buffer into TimeZoneStruct.
Supported formats:
Parsing is syntax-oriented and accepts offsets up to 23:59. Semantic support checks for reusable library features use is_valid_tz_offset(...) and the supported UTC-offset range [-12:00, +14:00].
| data | Pointer to timezone buffer (may be not null-terminated). |
| length | Number of characters in buffer. |
| tz | Output time zone struct. |
Definition at line 626 of file time_parser.hpp.
|
inlinenoexcept |
Parse timezone string into TimeZoneStruct.
Wrapper over parse_time_zone(const char*, std::size_t, TimeZoneStruct&).
Definition at line 670 of file time_parser.hpp.
| bool time_shield::parse_time_zone | ( | string | tz_str, |
| TimeZoneStruct & | tz ) |
Parse a time zone string into a TimeZoneStruct.
Parses a time zone string in the format "+hh:mm", "-hh:mm" or "Z". If the string is empty or "Z", UTC is assumed.
| tz_str | The time zone string. |
| tz | The TimeZoneStruct to be filled. |
Definition at line 94 of file time_parser.mqh.
|
inlinenoexcept |
Parse named time zone character buffer into TimeZone enum.
Supported tokens are exact uppercase repo-native abbreviations with ASCII trimming.
| data | Pointer to time zone name buffer. |
| length | Number of characters in buffer. |
| zone | Output named time zone. |
Definition at line 690 of file time_parser.hpp.
|
inlinenoexcept |
Parse named time zone C-string into TimeZone enum.
Wrapper over parse_time_zone_name(const char*, std::size_t, TimeZone&).
Definition at line 723 of file time_parser.hpp.
|
inlinenoexcept |
Parse named time zone string into TimeZone enum.
Wrapper over parse_time_zone_name(const char*, std::size_t, TimeZone&).
Definition at line 709 of file time_parser.hpp.
|
inlinenoexcept |
Parse named time zone string_view into TimeZone enum.
Wrapper over parse_time_zone_name(const char*, std::size_t, TimeZone&).
Definition at line 716 of file time_parser.hpp.
|
inlinenoexcept |
Alias for parse_time_zone (buffer overload).
Definition at line 680 of file time_parser.hpp.
|
inlinenoexcept |
Alias for parse_time_zone.
Definition at line 675 of file time_parser.hpp.
| bool time_shield::parse_tz | ( | string | tz_str, |
| TimeZoneStruct & | tz ) |
Alias for parse_time_zone function.
Parse timezone character buffer into TimeZoneStruct.
Supported formats:
Parsing is syntax-oriented and accepts offsets up to 23:59. Semantic support checks for reusable library features use is_valid_tz_offset(...) and the supported UTC-offset range [-12:00, +14:00].
| data | Pointer to timezone buffer (may be not null-terminated). |
| length | Number of characters in buffer. |
| tz | Output time zone struct. |
Definition at line 108 of file time_parser.mqh.
|
inlinenoexcept |
Alias for parse_time_zone_name.
Definition at line 732 of file time_parser.hpp.
|
inlinenoexcept |
Alias for parse_time_zone_name.
Definition at line 749 of file time_parser.hpp.
|
inlinenoexcept |
Alias for parse_time_zone_name.
Definition at line 737 of file time_parser.hpp.
|
inlinenoexcept |
Alias for parse_time_zone_name.
Definition at line 743 of file time_parser.hpp.
|
inline |
Convert time of day string to seconds of day.
Supported formats:
| T | Return type (default int). |
| str | Time of day as string. |
Definition at line 1353 of file time_parser.hpp.
|
inline |
Parse time of day string to seconds of day.
Supported formats:
| T | Return type (default int). |
| str | Time of day as string. |
| sec | Parsed seconds of day on success. |
Definition at line 1304 of file time_parser.hpp.
| int time_shield::sec_of_day | ( | string | str | ) |
Convert string with time of day to second of day.
Supports formats:
| str | Time in string format |
Definition at line 443 of file time_parser.mqh.
| long time_shield::start_of_first_workday_month | ( | string | str | ) |
Parse ISO8601 string and return start of the first workday of that month in seconds.
| str | ISO8601 formatted string. |
Definition at line 315 of file time_parser.mqh.
| long time_shield::start_of_first_workday_month_ms | ( | string | str | ) |
Parse ISO8601 string and return start of the first workday of that month in milliseconds.
| str | ISO8601 formatted string. |
Definition at line 325 of file time_parser.mqh.
| long time_shield::start_of_last_workday_month | ( | string | str | ) |
Parse ISO8601 string and return start of the last workday of that month in seconds.
| str | ISO8601 formatted string. |
Definition at line 355 of file time_parser.mqh.
| long time_shield::start_of_last_workday_month_ms | ( | string | str | ) |
Parse ISO8601 string and return start of the last workday of that month in milliseconds.
| str | ISO8601 formatted string. |
Definition at line 365 of file time_parser.mqh.
|
inline |
Convert ISO8601 character buffer to floating-point timestamp (fts_t).
| data | Pointer to character buffer. |
| length | Number of characters in buffer. |
| ts | Output timestamp in floating-point seconds. |
Definition at line 1060 of file time_parser.hpp.
|
inline |
Convert an ISO8601 string to a floating-point timestamp (fts_t).
| str | ISO8601 string. |
| ts | Output timestamp (floating-point seconds). |
Definition at line 1044 of file time_parser.hpp.
| bool time_shield::str_to_fts | ( | string | str, |
| double & | ts ) |
Convert an ISO8601 string to a floating-point timestamp (fts_t).
| str | The ISO8601 string. |
| ts | The floating-point timestamp to be filled. |
Definition at line 396 of file time_parser.mqh.
|
inline |
Parse ISO8601 character buffer and convert to timestamp (seconds).
| data | Pointer to character buffer. |
| length | Buffer length in bytes. |
| ts | Output timestamp in seconds. |
Definition at line 990 of file time_parser.hpp.
|
inline |
Convert an ISO8601 string to a timestamp (ts_t).
| str | ISO8601 string. |
| ts | Output timestamp (seconds). |
Definition at line 974 of file time_parser.hpp.
| bool time_shield::str_to_ts | ( | string | str, |
| long & | ts ) |
Convert an ISO8601 string to a timestamp (ts_t).
| str | The ISO8601 string. |
| ts | The timestamp to be filled. |
Definition at line 182 of file time_parser.mqh.
|
inline |
Convert ISO8601 character buffer to millisecond timestamp (ts_ms_t).
| data | Pointer to character buffer. |
| length | Number of characters in buffer. |
| ts | Output timestamp in milliseconds. |
Definition at line 1025 of file time_parser.hpp.
|
inline |
Convert an ISO8601 string to a millisecond timestamp (ts_ms_t).
| str | ISO8601 string. |
| ts | Output timestamp (milliseconds). |
Definition at line 1009 of file time_parser.hpp.
| bool time_shield::str_to_ts_ms | ( | string | str, |
| long & | ts ) |
Convert an ISO8601 string to a millisecond timestamp (ts_ms_t).
| str | The ISO8601 string. |
| ts | The millisecond timestamp to be filled. |
Definition at line 193 of file time_parser.mqh.
|
inline |
Try parse month name token into month index [1..12].
| month | Month token (e.g. "Jan", "January"), case-insensitive. |
| value | Output month index [1..12]. |
Definition at line 451 of file time_parser.hpp.
|
inline |
Try parse month name token into month index [1..12], string_view overload.
Definition at line 473 of file time_parser.hpp.
|
inline |
Try get the month number by name, const char* overload.
| T | Output type, default is Month enum. |
| month | Month token C-string. |
| value | Output month number (1..12) converted to T. |
Definition at line 582 of file time_parser.hpp.
|
inline |
Try get the month number by name, with output parameter.
| T | Output type, default is Month enum. |
| month | Month token. |
| value | Output month number (1..12) converted to T. |
Definition at line 512 of file time_parser.hpp.
|
inline |
Try get the month number by name, string_view overload.
Definition at line 543 of file time_parser.hpp.
| bool time_shield::try_get_month_number | ( | string | month, |
| int & | value ) |
Get the month number by name, with output parameter.
| month | The name of the month as a string. |
| value | Reference to store the month number if found. |
Definition at line 70 of file time_parser.mqh.
|
inlinenoexcept |
Parse null-terminated strings using formatter-compatible custom pattern.
Definition at line 1077 of file time_format_parser.hpp.
|
inlinenoexcept |
Parse input using formatter-compatible custom pattern.
ISO week-based tokens G, g, V, and u follow the same grammar as formatter output. Formats using ISO week-based year/week tokens do not mix with Gregorian Y / m / d date tokens.
Definition at line 1009 of file time_format_parser.hpp.
|
inlinenoexcept |
Parse std::string using formatter-compatible custom pattern.
Definition at line 1067 of file time_format_parser.hpp.
|
inlinenoexcept |
Parse std::string_view using formatter-compatible custom pattern.
Definition at line 1135 of file time_format_parser.hpp.
|
inlinenoexcept |
Parse null-terminated strings using custom format and convert to UTC seconds.
Definition at line 1099 of file time_format_parser.hpp.
|
inlinenoexcept |
Parse input using formatter-compatible custom pattern and convert to UTC seconds.
Definition at line 1021 of file time_format_parser.hpp.
|
inlinenoexcept |
Parse std::string using formatter-compatible custom pattern and convert to UTC seconds.
Definition at line 1090 of file time_format_parser.hpp.
|
inlinenoexcept |
Parse std::string_view using formatter-compatible custom pattern and convert to UTC seconds.
Definition at line 1145 of file time_format_parser.hpp.
|
inlinenoexcept |
Parse null-terminated strings using custom format and convert to UTC milliseconds.
Definition at line 1121 of file time_format_parser.hpp.
|
inlinenoexcept |
Parse input using formatter-compatible custom pattern and convert to UTC milliseconds.
Definition at line 1044 of file time_format_parser.hpp.
|
inlinenoexcept |
Parse std::string using formatter-compatible custom pattern and convert to UTC milliseconds.
Definition at line 1112 of file time_format_parser.hpp.
|
inlinenoexcept |
Parse std::string_view using formatter-compatible custom pattern and convert to UTC milliseconds.
Definition at line 1154 of file time_format_parser.hpp.
|
inline |
Try parse month name token into month index [1..12].
| month | Month token (e.g. "Jan", "January"), case-insensitive. |
| value | Output month index [1..12]. |
Definition at line 365 of file time_parser.hpp.
|
inline |
Try parse month name token into month index [1..12], string_view overload.
| month | Month token view (e.g. "Jan", "January"), case-insensitive. |
| value | Output month index [1..12]. |
Definition at line 382 of file time_parser.hpp.
|
inline |
Try parse month name token into Month enum (or any T).
| T | Output type, default is Month enum. |
| month | Month token. |
| value | Output month number (1..12) converted to T. |
Definition at line 413 of file time_parser.hpp.
|
inline |
Try parse month name token into Month enum (or any T), string_view overload.
| T | Output type, default is Month enum. |
| month | Month token view. |
| value | Output month number (1..12) converted to T. |
Definition at line 437 of file time_parser.hpp.
|
inline |
Convert ISO8601 character buffer to timestamp (seconds).
Does not require null terminator. Returns 0 on failure (ambiguous if epoch is a valid value for your usage).
| data | Pointer to character buffer. |
| length | Number of characters in buffer. |
Definition at line 1201 of file time_parser.hpp.
|
inline |
Convert ISO8601 C-string to timestamp (seconds).
Returns 0 on failure (ambiguous if epoch is a valid value for your usage).
| str | C-style string with ISO8601 timestamp, may be nullptr. |
Definition at line 1189 of file time_parser.hpp.
|
inline |
Convert an ISO8601 string to a timestamp (ts_t).
This function parses a string in ISO8601 format and converts it to a timestamp. If parsing fails, it returns 0.
| str | The ISO8601 string. |
Definition at line 1262 of file time_parser.hpp.
| long time_shield::ts | ( | string | str | ) |
Convert an ISO8601 string to a timestamp (ts_t).
Returns 0 if parsing fails.
| str | The ISO8601 string. |
Definition at line 407 of file time_parser.mqh.
|
inline |
Convert ISO8601 character buffer to timestamp (milliseconds).
Does not require null terminator. Returns 0 on failure.
| data | Pointer to character buffer. |
| length | Number of characters in buffer. |
Definition at line 1224 of file time_parser.hpp.
|
inline |
Convert ISO8601 C-string to timestamp (milliseconds).
Returns 0 on failure (ambiguous if epoch is a valid value for your usage).
| str | C-style string with ISO8601 timestamp, may be nullptr. |
Definition at line 1213 of file time_parser.hpp.
|
inline |
Convert an ISO8601 string to a millisecond timestamp (ts_ms_t).
This function parses a string in ISO8601 format and converts it to a millisecond timestamp. If parsing fails, it returns 0.
| str | The ISO8601 string. |
Definition at line 1273 of file time_parser.hpp.
| long time_shield::ts_ms | ( | string | str | ) |
Convert an ISO8601 string to a millisecond timestamp (ts_ms_t).
Returns 0 if parsing fails.
| str | The ISO8601 string. |
Definition at line 417 of file time_parser.mqh.
|
inline |
Alias for is_workday(const std::string&).
Parse ISO8601 string and check if it falls on a workday (seconds precision).
Definition at line 1095 of file time_parser.hpp.
| bool time_shield::workday | ( | string | str | ) |
Alias for is_workday.
Parse ISO8601 string and check for workday using second precision.
| str | ISO8601 formatted string. |
Definition at line 212 of file time_parser.mqh.
|
inline |
Alias for is_workday_ms(const std::string&).
Parse ISO8601 string and check if it falls on a workday (milliseconds precision).
Definition at line 1101 of file time_parser.hpp.
| bool time_shield::workday_ms | ( | string | str | ) |
Alias for is_workday_ms.
Parse ISO8601 string and check for workday using millisecond precision.
| str | ISO8601 formatted string. |
Definition at line 226 of file time_parser.mqh.