Date/Time class. More...

#include <datetime.h>

Public Types

enum  TimeZone { local_timezone, utc_timezone }
 

Public Member Functions

 DateTime ()
 Constructs a date/time object. More...
 
 DateTime (int year, int month, int day, int hour=0, int minute=0, int seconds=0, int nanoseconds=0, TimeZone timezone=utc_timezone)
 
 ~DateTime ()
 
DateTimeadd_days (int days)
 
DateTimeadd_months (int months)
 
DateTimeadd_years (int years)
 
unsigned char get_day () const
 
unsigned int get_day_of_week () const
 Get the day of the week. More...
 
int get_difference_in_days (const DateTime &other) const
 Returns the difference in days between two dates. This function is only accurate for the next few millenniums. More...
 
unsigned char get_hour () const
 
unsigned char get_minutes () const
 
unsigned char get_month () const
 Returns the month number in range 1-12. More...
 
unsigned int get_nanoseconds () const
 
unsigned char get_seconds () const
 
TimeZone get_timezone () const
 
unsigned char get_week () const
 Returns the ISO 8601 week number of the date. More...
 
unsigned short get_year () const
 
bool is_null () const
 
bool operator!= (const DateTime &other) const
 
bool operator< (const DateTime &other) const
 
bool operator<= (const DateTime &other) const
 
bool operator== (const DateTime &other) const
 
bool operator> (const DateTime &other) const
 
bool operator>= (const DateTime &other) const
 
void set_date (int year, int month, int day, int hour=0, int minute=0, int seconds=0, int nanoseconds=0, TimeZone timezone=utc_timezone)
 
void set_day (int day)
 
void set_hour (int hour)
 
void set_minutes (int minutes)
 
void set_month (int month)
 
void set_nanoseconds (int nanoseconds)
 
void set_null ()
 
void set_seconds (int seconds)
 
void set_timezone (TimeZone timezone)
 
void set_year (int year)
 
DateTime to_local () const
 
std::string to_long_date_string () const
 Mon Mar 3 2007. More...
 
std::string to_long_time_string () const
 hh:mm:ss More...
 
std::string to_short_date_string () const
 yyyy-mm-dd More...
 
std::string to_short_datetime_string () const
 yyyy-mm-dd hh:mm:ss More...
 
std::string to_short_time_string () const
 hh:mm More...
 
std::string to_string () const
 Mon Feb 3 12:32:54 2008. More...
 
int64_t to_ticks () const
 Converts the date to the number of 100-nanosecond intervals since January 1, 1601 UTC. More...
 
DateTime to_utc () const
 

Static Public Member Functions

static DateTime from_short_date_string (const std::string &value)
 
static DateTime get_current_local_time ()
 Get current system time in local time zone. More...
 
static DateTime get_current_utc_time ()
 Get current system time in UTC. More...
 
static int get_days_in_month (int month, int year)
 Returns the number of days in the given month. More...
 
static DateTime get_local_time_from_ticks (int64_t ticks)
 Converts a time tick value (number of 100-nanosecond intervals since January 1, 1601 UTC) to a date time in the local time zone. More...
 
static DateTime get_utc_time_from_ticks (int64_t ticks)
 Converts a time tick value (number of 100-nanosecond intervals since January 1, 1601 UTC) to a date time in UTC. More...
 

Detailed Description

Date/Time class.

Constructor & Destructor Documentation

clan::DateTime::DateTime ( )

Constructs a date/time object.

clan::DateTime::DateTime ( int  year,
int  month,
int  day,
int  hour = 0,
int  minute = 0,
int  seconds = 0,
int  nanoseconds = 0,
TimeZone  timezone = utc_timezone 
)
clan::DateTime::~DateTime ( )

Member Function Documentation

DateTime& clan::DateTime::add_days ( int  days)
DateTime& clan::DateTime::add_months ( int  months)
DateTime& clan::DateTime::add_years ( int  years)
static DateTime clan::DateTime::from_short_date_string ( const std::string value)
static
static DateTime clan::DateTime::get_current_local_time ( )
static

Get current system time in local time zone.

static DateTime clan::DateTime::get_current_utc_time ( )
static

Get current system time in UTC.

unsigned char clan::DateTime::get_day ( ) const
unsigned int clan::DateTime::get_day_of_week ( ) const

Get the day of the week.

Returns
0 = Sunday ... 6 = Saturday
static int clan::DateTime::get_days_in_month ( int  month,
int  year 
)
static

Returns the number of days in the given month.

Returns
number of days: 28-31.
int clan::DateTime::get_difference_in_days ( const DateTime other) const

Returns the difference in days between two dates. This function is only accurate for the next few millenniums.

Returns
Number of days between dates. Returns a negative value if 'other' is before 'this'.
unsigned char clan::DateTime::get_hour ( ) const
static DateTime clan::DateTime::get_local_time_from_ticks ( int64_t  ticks)
static

Converts a time tick value (number of 100-nanosecond intervals since January 1, 1601 UTC) to a date time in the local time zone.

unsigned char clan::DateTime::get_minutes ( ) const
unsigned char clan::DateTime::get_month ( ) const

Returns the month number in range 1-12.

Returns
1 = Jan ... 12 = December
unsigned int clan::DateTime::get_nanoseconds ( ) const
unsigned char clan::DateTime::get_seconds ( ) const
TimeZone clan::DateTime::get_timezone ( ) const
static DateTime clan::DateTime::get_utc_time_from_ticks ( int64_t  ticks)
static

Converts a time tick value (number of 100-nanosecond intervals since January 1, 1601 UTC) to a date time in UTC.

unsigned char clan::DateTime::get_week ( ) const

Returns the ISO 8601 week number of the date.

Returns
Week number: 1-53.
unsigned short clan::DateTime::get_year ( ) const
bool clan::DateTime::is_null ( ) const
bool clan::DateTime::operator!= ( const DateTime other) const
bool clan::DateTime::operator< ( const DateTime other) const
bool clan::DateTime::operator<= ( const DateTime other) const
bool clan::DateTime::operator== ( const DateTime other) const
bool clan::DateTime::operator> ( const DateTime other) const
bool clan::DateTime::operator>= ( const DateTime other) const
void clan::DateTime::set_date ( int  year,
int  month,
int  day,
int  hour = 0,
int  minute = 0,
int  seconds = 0,
int  nanoseconds = 0,
TimeZone  timezone = utc_timezone 
)
void clan::DateTime::set_day ( int  day)
void clan::DateTime::set_hour ( int  hour)
void clan::DateTime::set_minutes ( int  minutes)
void clan::DateTime::set_month ( int  month)
void clan::DateTime::set_nanoseconds ( int  nanoseconds)
void clan::DateTime::set_null ( )
void clan::DateTime::set_seconds ( int  seconds)
void clan::DateTime::set_timezone ( TimeZone  timezone)
void clan::DateTime::set_year ( int  year)
DateTime clan::DateTime::to_local ( ) const
std::string clan::DateTime::to_long_date_string ( ) const

Mon Mar 3 2007.

std::string clan::DateTime::to_long_time_string ( ) const

hh:mm:ss

std::string clan::DateTime::to_short_date_string ( ) const

yyyy-mm-dd

std::string clan::DateTime::to_short_datetime_string ( ) const

yyyy-mm-dd hh:mm:ss

std::string clan::DateTime::to_short_time_string ( ) const

hh:mm

std::string clan::DateTime::to_string ( ) const

Mon Feb 3 12:32:54 2008.

int64_t clan::DateTime::to_ticks ( ) const

Converts the date to the number of 100-nanosecond intervals since January 1, 1601 UTC.

DateTime clan::DateTime::to_utc ( ) const

The documentation for this class was generated from the following file: