OpenStudio:utilities
 AllClasses Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages

#include "DateTime.hpp"

Public Member Functions

Date date () const
 DateTime ()
 DateTime (const Date &date)
 DateTime (const Date &date, const Time &timeFromDate)
 DateTime (const Date &date, const Time &timeFromDate, double utcOffset)
 DateTime (const DateTime &other)
 DateTime (const std::string &string)
 DateTime (tm t_tm)
bool operator!= (const DateTime &other) const
DateTime operator+ (const Time &time) const
DateTimeoperator+= (const Time &time)
DateTime operator- (const Time &time) const
Time operator- (const DateTime &dateTime) const
Time operator- (const Date &date) const
DateTimeoperator-= (const Time &time)
bool operator< (const DateTime &rhs) const
bool operator<= (const DateTime &rhs) const
DateTimeoperator= (const DateTime &other)
bool operator== (const DateTime &other) const
bool operator> (const DateTime &rhs) const
bool operator>= (const DateTime &rhs) const
Time time () const
time_t toEpoch () const
std::string toISO8601 () const
std::string toString () const
std::string toXsdDateTime () const
double utcOffset () const

Static Public Member Functions

static DateTime fromEpoch (const std::time_t &time)
static boost::optional< DateTimefromISO8601 (const std::string &str)
static boost::optional< DateTimefromXsdDateTime (const std::string &str)
static double localOffsetUTC ()
static openstudio::LogChannel logChannel ()
static DateTime now ()
static DateTime nowUTC ()

Detailed Description

DateTime is an absolute unit of time, resolution to the second date is a valid Date time is normalized to 0 <= time < 24 hrs.

Constructor & Destructor Documentation

openstudio::DateTime::DateTime ( )

default constructor, UTC time is assumed

openstudio::DateTime::DateTime ( const Date date)

constructor from Date, UTC time is assumed

openstudio::DateTime::DateTime ( const Date date,
const Time timeFromDate 
)

constructor from Date and Time, UTC time is assumed

openstudio::DateTime::DateTime ( const Date date,
const Time timeFromDate,
double  utcOffset 
)

constructor from Date and Time and UTC Offset

openstudio::DateTime::DateTime ( const DateTime other)

copy constructor

openstudio::DateTime::DateTime ( const std::string &  string)

constructor from simple string format, UTC time is assumed

openstudio::DateTime::DateTime ( tm  t_tm)

from system tm struct

Member Function Documentation

Date openstudio::DateTime::date ( ) const

getter to date member

static DateTime openstudio::DateTime::fromEpoch ( const std::time_t &  time)
static

construct from epoch time_t in UTC

static boost::optional<DateTime> openstudio::DateTime::fromISO8601 ( const std::string &  str)
static

construct from ISO 8601 string

static boost::optional<DateTime> openstudio::DateTime::fromXsdDateTime ( const std::string &  str)
static

construct from xsd:dateTime string

static double openstudio::DateTime::localOffsetUTC ( )
static

get the current UTC offset

static openstudio::LogChannel openstudio::DateTime::logChannel ( )
inlinestatic
static DateTime openstudio::DateTime::now ( )
static

get the local time now

static DateTime openstudio::DateTime::nowUTC ( )
static

get the UTC time now

bool openstudio::DateTime::operator!= ( const DateTime other) const

non-equality operator

DateTime openstudio::DateTime::operator+ ( const Time time) const

addition operator

DateTime& openstudio::DateTime::operator+= ( const Time time)

assignment by addition operator

DateTime openstudio::DateTime::operator- ( const Time time) const

difference operator

Time openstudio::DateTime::operator- ( const DateTime dateTime) const

time duration

Time openstudio::DateTime::operator- ( const Date date) const

time duration

DateTime& openstudio::DateTime::operator-= ( const Time time)

assignment by difference operator

bool openstudio::DateTime::operator< ( const DateTime rhs) const

less than operator

bool openstudio::DateTime::operator<= ( const DateTime rhs) const

less than equals operator

DateTime& openstudio::DateTime::operator= ( const DateTime other)

assignment operator

bool openstudio::DateTime::operator== ( const DateTime other) const

equality operator

bool openstudio::DateTime::operator> ( const DateTime rhs) const

greater than operator

bool openstudio::DateTime::operator>= ( const DateTime rhs) const

greater than equals operator

Time openstudio::DateTime::time ( ) const

getter to time member

time_t openstudio::DateTime::toEpoch ( ) const

convert to epoch time_t in UTC time

std::string openstudio::DateTime::toISO8601 ( ) const

convert to ISO 8601 string

std::string openstudio::DateTime::toString ( ) const

convert to simple string format in UTC

std::string openstudio::DateTime::toXsdDateTime ( ) const

convert to xsd:dateTime format

double openstudio::DateTime::utcOffset ( ) const

UTC offset in hours, local time = UTC time + UTC offset.