My Project
|
#include <tztime.h>
Public Member Functions | |
virtual my_time_t | TIME_to_gmt_sec (const MYSQL_TIME *t, my_bool *in_dst_time_gap) const =0 |
virtual void | gmt_sec_to_TIME (MYSQL_TIME *tmp, my_time_t t) const =0 |
void | gmt_sec_to_TIME (MYSQL_TIME *tmp, struct timeval tv) |
virtual const String * | get_name () const =0 |
virtual | ~Time_zone () |
Static Protected Member Functions | |
static void | adjust_leap_second (MYSQL_TIME *t) |
This class represents abstract time zone and provides basic interface for MYSQL_TIME <-> my_time_t conversion. Actual time zones which are specified by DB, or via offset or use system functions are its descendants.
virtual Time_zone::~Time_zone | ( | ) | [inline, virtual] |
We need this only for surpressing warnings, objects of this type are allocated on MEM_ROOT and should not require destruction.
void Time_zone::adjust_leap_second | ( | MYSQL_TIME * | t | ) | [inline, static, protected] |
Convert leap seconds into non-leap
This function will convert the leap seconds added by the OS to non-leap seconds, e.g. 23:59:59, 23:59:60 -> 23:59:59, 00:00:01 ... This check is not checking for years on purpose : although it's not a complete check this way it doesn't require looking (and having installed) the leap seconds table.
[in,out] | broken | down time structure as filled in by the OS |
virtual const String* Time_zone::get_name | ( | ) | const [pure virtual] |
Because of constness of String returned by get_name() time zone name have to be already zeroended to be able to use String::ptr() instead of c_ptr().
Implemented in Time_zone_offset, Time_zone_db, Time_zone_utc, and Time_zone_system.
virtual void Time_zone::gmt_sec_to_TIME | ( | MYSQL_TIME * | tmp, |
my_time_t | t | ||
) | const [pure virtual] |
Converts time in my_time_t representation to local time in broken down MYSQL_TIME representation.
Implemented in Time_zone_offset, Time_zone_db, Time_zone_utc, and Time_zone_system.
void Time_zone::gmt_sec_to_TIME | ( | MYSQL_TIME * | tmp, |
struct timeval | tv | ||
) | [inline] |
Comverts "struct timeval" to local time in broken down MYSQL_TIME represendation.
virtual my_time_t Time_zone::TIME_to_gmt_sec | ( | const MYSQL_TIME * | t, |
my_bool * | in_dst_time_gap | ||
) | const [pure virtual] |
Converts local time in broken down MYSQL_TIME representation to my_time_t (UTC seconds since Epoch) represenation. Returns 0 in case of error. Sets in_dst_time_gap to true if date provided falls into spring time-gap (or lefts it untouched otherwise).
Implemented in Time_zone_offset, Time_zone_db, Time_zone_utc, and Time_zone_system.