Time related functions. More...
Classes | |
struct | DateTime |
A type representing the combination of date and time. More... | |
Functions | |
double | TimeCounting () |
Precisely and cross-platform time counting function. | |
string | ConvertToString (const time_t date, bool utc_time=true) |
Convert date time to string as the format of "YYYY-MM-DD". More... | |
string | ConvertToString2 (const time_t date, bool utc_time=true) |
Convert date time to string as the format of "YYYY-MM-DD HH". More... | |
string | ConvertToString3 (const time_t date, const bool utc_time) |
format: 2022_11_17_092000 More... | |
time_t | ConvertToTime (const string &str_date, string const &format, bool include_hour, bool utc_time=true) |
Convert string to date time, string format could be %4d%2d%2d or d-d-d. More... | |
time_t | ConvertYMDToTime (int &year, int &month, int &day, bool utc_time=true) |
Convert integer year, month, and day to date time. More... | |
int | GetDateInfoFromTimet (time_t t, int *year, int *month, int *day, bool utc_time=true) |
Get date information from time_t variable. More... | |
void | LocalTime (time_t date, struct tm *t) |
Get local time. More... | |
void | UTCTime (time_t date, struct tm *t) |
Get UTC:+00:00 time. More... | |
void | GetDateTime (time_t date, struct tm *t, bool utc_time=true) |
Get UTC:+00:00 time. More... | |
int | GetYear (time_t date, bool utc_time=true) |
Get the year. More... | |
int | GetMonth (time_t date, bool utc_time=true) |
Get the month. More... | |
int | GetDay (time_t date, bool utc_time=true) |
Get the day. More... | |
int | DayOfYear (time_t date, bool utc_time=true) |
Get the day of one year, [1, 366]. | |
int | DayOfYear (int year, int month, int day) |
Get the day of one year, [1, 366]. | |
int | JulianDay (time_t date, bool utc_time=true) |
Get the Julian day from time_t date. | |
int | JulianDay (int year, int month, int day) |
Get the Julian day of one day from year, month, and day. More... | |
bool | IsLeapYear (const int yr) |
Check the given year is a leap year or not. More... | |
Time related functions.
string ccgl::utils_time::ConvertToString | ( | const time_t | date, |
bool | utc_time = true |
||
) |
Convert date time to string as the format of "YYYY-MM-DD".
[in] | date | time_t data type |
[in] | utc_time | By default, the input date is under UTC+00:00 timezone. |
string ccgl::utils_time::ConvertToString2 | ( | const time_t | date, |
bool | utc_time = true |
||
) |
Convert date time to string as the format of "YYYY-MM-DD HH".
[in] | date | time_t data type |
[in] | utc_time | By default, the input date is under UTC+00:00 timezone. |
string ccgl::utils_time::ConvertToString3 | ( | const time_t | date, |
bool | utc_time = true |
||
) |
format: 2022_11_17_092000
Convert date time to string as the format of "YYYY_MM_DD_HHMMSS".
[in] | date | time_t data type |
[in] | utc_time | By default, the input date is under UTC+00:00 timezone. |
time_t ccgl::utils_time::ConvertToTime | ( | const string & | str_date, |
string const & | format, | ||
bool | include_hour, | ||
bool | utc_time = true |
||
) |
Convert string to date time, string format could be %4d%2d%2d or d-d-d.
Example:
[in] | str_date | string date |
[in] | format | string format |
[in] | include_hour | bool Include Hour? |
[in] | utc_time | By default, the input date is under UTC+00:00 timezone. |
time_t ccgl::utils_time::ConvertYMDToTime | ( | int & | year, |
int & | month, | ||
int & | day, | ||
bool | utc_time = true |
||
) |
Convert integer year, month, and day to date time.
[in] | year | year number from 1970 |
[in] | month | month range from 1 to 12 |
[in] | day | day range from 1 to 31 |
[in] | utc_time | By default, the input date is under UTC+00:00 timezone. |
int ccgl::utils_time::GetDateInfoFromTimet | ( | time_t | t, |
int * | year, | ||
int * | month, | ||
int * | day, | ||
bool | utc_time = true |
||
) |
Get date information from time_t variable.
[in] | t | time_t date |
[out] | year,month,day | int value |
[in] | utc_time | By default, the input date is under UTC+00:00 timezone. |
void ccgl::utils_time::GetDateTime | ( | time_t | date, |
struct tm * | t, | ||
bool | utc_time = true |
||
) |
Get UTC:+00:00 time.
[in] | date | time_t date |
[out] | t | tm struct date |
[in] | utc_time | By default, the input date is under UTC+00:00 timezone. |
int ccgl::utils_time::GetDay | ( | time_t | date, |
bool | utc_time = true |
||
) |
Get the day.
int ccgl::utils_time::GetMonth | ( | time_t | date, |
bool | utc_time = true |
||
) |
Get the month.
int ccgl::utils_time::GetYear | ( | time_t | date, |
bool | utc_time = true |
||
) |
Get the year.
|
inline |
Check the given year is a leap year or not.
divisible by 4, not if divisible by 100, but true if divisible by 400
int ccgl::utils_time::JulianDay | ( | int | year, |
int | month, | ||
int | day | ||
) |
Get the Julian day of one day from year, month, and day.
Algorithm adopted from boost::date_time::gregorian_calendar_base::day_number.
void ccgl::utils_time::LocalTime | ( | time_t | date, |
struct tm * | t | ||
) |
Get local time.
[in] | date | time_t date |
[out] | t | tm struct date |
void ccgl::utils_time::UTCTime | ( | time_t | date, |
struct tm * | t | ||
) |
Get UTC:+00:00 time.
[in] | date | time_t date |
[out] | t | tm struct date |