Qore's parse tree/value type for date-time values, reference-counted, dynamically-allocated only.  
 More...
 | 
| DLLEXPORT  | DateTimeNode (bool r=false) | 
|   | constructor for an empty object  More...
  | 
|   | 
| DLLEXPORT  | DateTimeNode (int n_year, int n_month, int n_day, int n_hour=0, int n_minute=0, int n_second=0, short n_ms=0, bool n_relative=false) | 
|   | constructor for setting all parameters  More...
  | 
|   | 
| DLLEXPORT  | DateTimeNode (int64 seconds) | 
|   | constructor for setting an absolute date based on the number of seconds from January 1, 1970  More...
  | 
|   | 
| DLLEXPORT  | DateTimeNode (int64 seconds, int ms) | 
|   | constructor for setting an absolute date based on the number of seconds from January 1, 1970 (plus milliseconds)  More...
  | 
|   | 
| DLLEXPORT  | DateTimeNode (const AbstractQoreZoneInfo *zone, const QoreValue v) | 
|   | constructor for creating an absolute date from a value representing a number of seconds  More...
  | 
|   | 
| DLLEXPORT  | DateTimeNode (const QoreValue v) | 
|   | constructor for creating a relative date from a value representing a number of seconds  More...
  | 
|   | 
| DLLEXPORT  | DateTimeNode (const char *date) | 
|   | constructor for setting the date from a string with a flexible format, silently accepts invalid date strings  More...
  | 
|   | 
| DLLEXPORT  | DateTimeNode (const char *date, ExceptionSink *xsink) | 
|   | constructor for setting the date from a string with a flexible format, throws a Qore-language exception if the date string is invalid  More...
  | 
|   | 
| DLLEXPORT  | DateTimeNode (const AbstractQoreZoneInfo *zone, const char *date) | 
|   | constructor for setting the date from a string with a flexible format  More...
  | 
|   | 
| DLLEXPORT  | DateTimeNode (hashdecl tm *tms) | 
|   | constructor for setting an absolute date based on a "hashdecl tm"  More...
  | 
|   | 
| 
DLLEXPORT  | DateTimeNode (const DateTimeNode &dt) | 
|   | copy constructor 
  | 
|   | 
| 
DLLEXPORT  | DateTimeNode (const DateTime &dt) | 
|   | constructor to set the date from a DateTime value 
  | 
|   | 
| DLLEXPORT DateTimeNode *  | add (const DateTime *dt) const | 
|   | adds a DateTime value to the current value and returns the new value, the caller owns the pointer's reference count  More...
  | 
|   | 
| DLLEXPORT DateTimeNode *  | add (const DateTime &dt) const | 
|   | adds a DateTime value to the current value and returns the new value, the caller owns the pointer's reference count  More...
  | 
|   | 
| DLLEXPORT DateTimeNode *  | copy () const | 
|   | returns a copy of the DateTimeNode, the caller owns the pointer's reference count  More...
  | 
|   | 
| virtual DLLEXPORT QoreString *  | getAsString (bool &del, int foff, ExceptionSink *xsink) const | 
|   | returns the date/time value as a formatted string for n and N printf formatting, del is set to true  More...
  | 
|   | 
| virtual DLLEXPORT int  | getAsString (QoreString &str, int foff, ExceptionSink *xsink) const | 
|   | concatenates a string representation of the date/time value (designed for n and N printf formatting) to a QoreString reference  More...
  | 
|   | 
| virtual DLLEXPORT DateTime *  | getDateTimeRepresentation (bool &del) const | 
|   | returns "this" as a DateTime, del is set to false  More...
  | 
|   | 
| virtual DLLEXPORT void  | getDateTimeRepresentation (DateTime &dt) const | 
|   | assigns this date/time representation to the passed DateTime reference  More...
  | 
|   | 
| virtual DLLEXPORT QoreString *  | getStringRepresentation (bool &del) const | 
|   | returns a string in the format YYYYMMDDHHmmSS, del is set to true  More...
  | 
|   | 
| virtual DLLEXPORT void  | getStringRepresentation (QoreString &str) const | 
|   | concatentates the date/time value in the format YYYYMMDDHHmmDD to an existing QoreString reference  More...
  | 
|   | 
| 
virtual DLLEXPORT const char *  | getTypeName () const | 
|   | returns the type name as a c string 
  | 
|   | 
| virtual DLLEXPORT bool  | is_equal_hard (const AbstractQoreNode *v, ExceptionSink *xsink) const | 
|   | tests for equality ("deep compare" including all contained values for container types) without type conversions (hard compare)  More...
  | 
|   | 
| virtual DLLEXPORT bool  | is_equal_soft (const AbstractQoreNode *v, ExceptionSink *xsink) const | 
|   | tests for equality with possible type conversion (soft compare)  More...
  | 
|   | 
| 
virtual DLLEXPORT void  | parseInit (QoreValue &val, LocalVar *oflag, int pflag, int &lvids, const QoreTypeInfo *&typeInfo) | 
|   | returns the type information 
  | 
|   | 
| virtual DLLEXPORT AbstractQoreNode *  | realCopy () const | 
|   | returns a copy of the object; the caller owns the reference count  More...
  | 
|   | 
| 
DLLEXPORT DateTimeNode *  | refSelf () const | 
|   | returns this with an incremented ref count 
  | 
|   | 
| DLLEXPORT DateTimeNode *  | subtractBy (const DateTime *dt) const | 
|   | subtracts a DateTime value from the current value and returns the new value, the caller owns the pointer's reference count  More...
  | 
|   | 
| DLLEXPORT DateTimeNode *  | subtractBy (const DateTime &dt) const | 
|   | subtracts a DateTime value from the current value and returns the new value, the caller owns the pointer's reference count  More...
  | 
|   | 
| 
DLLEXPORT DateTimeNode *  | unaryMinus () const | 
|   | returns the negative time from the current time 
  | 
|   | 
| 
DLLLOCAL  | SimpleValueQoreNode (qore_type_t t, bool n_there_can_be_only_one=false) | 
|   | creates the object by assigning the type code and setting the "value" flag, unsetting the "needs_eval" flag, and setting "there_can_be_only_one" 
  | 
|   | 
| 
DLLLOCAL  | SimpleQoreNode (qore_type_t t, bool n_value, bool n_needs_eval, bool n_there_can_be_only_one=false) | 
|   | constructor takes the type and value arguments 
  | 
|   | 
| 
DLLLOCAL  | SimpleQoreNode (const SimpleQoreNode &v) | 
|   | copy constructor 
  | 
|   | 
| 
SimpleQoreNode &  | operator= (const SimpleQoreNode &)=delete | 
|   | this function is not implemented 
  | 
|   | 
| DLLEXPORT  | AbstractQoreNode (qore_type_t t, bool n_value, bool n_needs_eval, bool n_there_can_be_only_one=false, bool n_custom_reference_handlers=false) | 
|   | constructor takes the type  More...
  | 
|   | 
| 
DLLEXPORT  | AbstractQoreNode (const AbstractQoreNode &v) | 
|   | copy constructor 
  | 
|   | 
| virtual DLLEXPORT void  | customDeref (ExceptionSink *xsink) | 
|   | 
| virtual DLLEXPORT void  | customRef () const | 
|   | special processing when the object's reference count transitions from 0-1  More...
  | 
|   | 
| DLLEXPORT void  | deref (ExceptionSink *xsink) | 
|   | decrements the reference count and calls derefImpl() if there_can_be_only_one is false, otherwise does nothing  More...
  | 
|   | 
| virtual DLLEXPORT bool  | derefImpl (ExceptionSink *xsink) | 
|   | decrements the reference count  More...
  | 
|   | 
| DLLEXPORT QoreValue  | eval (ExceptionSink *xsink) const | 
|   | evaluates the object and returns a value (or 0)  More...
  | 
|   | 
| DLLEXPORT QoreValue  | eval (bool &needs_deref, ExceptionSink *xsink) const | 
|   | optionally evaluates the argument  More...
  | 
|   | 
| DLLEXPORT int64  | getAsBigInt () const | 
|   | returns the 64-bit integer value of the object  More...
  | 
|   | 
| DLLEXPORT bool  | getAsBool () const | 
|   | returns the boolean value of the object  More...
  | 
|   | 
| DLLEXPORT double  | getAsFloat () const | 
|   | returns the float value of the object  More...
  | 
|   | 
| DLLEXPORT int  | getAsInt () const | 
|   | returns the integer value of the object  More...
  | 
|   | 
| DLLLOCAL qore_type_t  | getType () const | 
|   | returns the data type  More...
  | 
|   | 
| DLLLOCAL bool  | is_value () const | 
|   | returns true if the node represents a value  More...
  | 
|   | 
| 
DLLLOCAL bool  | isReferenceCounted () const | 
|   | returns true if the object is reference-counted 
  | 
|   | 
| DLLLOCAL bool  | needs_eval () const | 
|   | returns true if the object needs evaluation to return a value, false if not  More...
  | 
|   | 
| 
DLLLOCAL AbstractQoreNode &  | operator= (const AbstractQoreNode &) | 
|   | this function is not implemented; it is here as a private function in order to prohibit it from being used 
  | 
|   | 
| 
DLLEXPORT void  | ref () const | 
|   | increments the reference count 
  | 
|   | 
| DLLEXPORT AbstractQoreNode *  | refSelf () const | 
|   | returns "this" with an incremented reference count  More...
  | 
|   | 
| 
DLLEXPORT  | QoreReferenceCounter () | 
|   | creates the reference counter object 
  | 
|   | 
| DLLEXPORT  | QoreReferenceCounter (const QoreReferenceCounter &old) | 
|   | creates a new object with a reference count of 1  More...
  | 
|   | 
| 
DLLEXPORT  | ~QoreReferenceCounter () | 
|   | destroys the reference counter object 
  | 
|   | 
| DLLEXPORT bool  | is_unique () const | 
|   | returns true if the reference count is 1  More...
  | 
|   | 
| DLLEXPORT int  | reference_count () const | 
|   | gets the reference count  More...
  | 
|   | 
| DLLEXPORT bool  | ROdereference () const | 
|   | atomically decrements the reference count  More...
  | 
|   | 
| 
DLLEXPORT void  | ROreference () const | 
|   | atomically increments the reference count 
  | 
|   | 
| DLLEXPORT  | DateTime (bool r=false) | 
|   | constructor for an empty object  More...
  | 
|   | 
| DLLEXPORT  | DateTime (int n_year, int n_month, int n_day, int n_hour=0, int n_minute=0, int n_second=0, short n_ms=0, bool n_relative=false) | 
|   | constructor for setting all parameters  More...
  | 
|   | 
| DLLEXPORT  | DateTime (int64 seconds) | 
|   | constructor for setting an absolute date based on the number of seconds from January 1, 1970  More...
  | 
|   | 
| DLLEXPORT  | DateTime (int64 seconds, int ms) | 
|   | constructor for setting an absolute date based on the number of seconds from January 1, 1970 (plus milliseconds)  More...
  | 
|   | 
| DLLEXPORT  | DateTime (const AbstractQoreZoneInfo *zone, const QoreValue v) | 
|   | constructor for creating an absolute date from a value representing a number of seconds  More...
  | 
|   | 
| DLLEXPORT  | DateTime (const QoreValue v) | 
|   | constructor for creating a relative date from a value representing a number of seconds  More...
  | 
|   | 
| DLLEXPORT  | DateTime (const char *date) | 
|   | constructor for setting the date from a string  More...
  | 
|   | 
| DLLEXPORT  | DateTime (const char *date, ExceptionSink *xsink) | 
|   | constructor for setting the date from a string with a flexible format, throws a Qore-language exception if the date string is invalid  More...
  | 
|   | 
| DLLEXPORT  | DateTime (const AbstractQoreZoneInfo *zone, const char *date) | 
|   | constructor for setting the date from a string with a flexible format  More...
  | 
|   | 
| DLLEXPORT  | DateTime (const hashdecl tm *tms) | 
|   | constructor for setting an absolute date based on a "hashdecl tm"  More...
  | 
|   | 
| 
DLLEXPORT  | DateTime (const DateTime &dt) | 
|   | copy constructor 
  | 
|   | 
| 
DLLEXPORT  | ~DateTime () | 
|   | destroys the object and frees all memory 
  | 
|   | 
| DLLEXPORT void  | addSecondsTo (int64 secs, int us=0) | 
|   | adds the given number of seconds (and microseconds) to the date/time value  More...
  | 
|   | 
| DLLEXPORT void  | format (QoreString &str, const char *fmt) const | 
|   | formats the date/time value to a QoreString  More...
  | 
|   | 
| DLLEXPORT int  | getDay () const | 
|   | returns the day portion of the date-time value (in local time according to the time zone for absolute date/time values)  More...
  | 
|   | 
| DLLEXPORT int  | getDayNumber () const | 
|   | returns the ordinal number of the day in the year for absolute dates, sometimes (mistakenly) referred to as the Julian date  More...
  | 
|   | 
| DLLEXPORT int  | getDayOfWeek () const | 
|   | returns the day of week for the current date (0-6, Sun-Sat)  More...
  | 
|   | 
| DLLEXPORT int64  | getEpochMicrosecondsUTC () const | 
|   | gets the number of microseconds since January 1, 1970Z for the current date  More...
  | 
|   | 
| DLLEXPORT int64  | getEpochMillisecondsUTC () const | 
|   | gets the number of milliseconds since January 1, 1970Z for the current date  More...
  | 
|   | 
| DLLEXPORT int64  | getEpochSeconds () const | 
|   | gets the number of seconds since January 1, 1970 for the current date offset in local time  More...
  | 
|   | 
| DLLEXPORT int64  | getEpochSecondsUTC () const | 
|   | gets the number of seconds since January 1, 1970Z for the current date  More...
  | 
|   | 
| DLLEXPORT int  | getHour () const | 
|   | returns the hour portion of the date-time value (in local time according to the time zone for absolute date/time values)  More...
  | 
|   | 
| 
DLLEXPORT void  | getInfo (const AbstractQoreZoneInfo *n_zone, qore_tm &info) const | 
|   | returns the broken-down time in the given time zone (n_zone = 0 means UTC) 
  | 
|   | 
| 
DLLEXPORT void  | getInfo (qore_tm &info) const | 
|   | returns the broken-down time in the current time zone 
  | 
|   | 
| DLLEXPORT void  | getISOWeek (int &year, int &week, int &day) const | 
|   | returns the ISO-8601 week information  More...
  | 
|   | 
| DLLEXPORT int  | getMicrosecond () const | 
|   | returns the microsecond portion of the date-time value  More...
  | 
|   | 
| DLLEXPORT int  | getMillisecond () const | 
|   | returns the microsecond portion of the date-time value divided by 1000  More...
  | 
|   | 
| DLLEXPORT int  | getMinute () const | 
|   | returns the minute portion of the date-time value (in local time according to the time zone for absolute date/time values)  More...
  | 
|   | 
| DLLEXPORT int  | getMonth () const | 
|   | returns the month portion of the date-time value (in local time according to the time zone for absolute date/time values)  More...
  | 
|   | 
| DLLEXPORT int64  | getRelativeMicroseconds () const | 
|   | returns the difference as the number of microseconds between the date/time value and the local time at the moment of the call, for absolute date/time values; for relative date/time values, the duration is converted to microseconds and returned as an integer  More...
  | 
|   | 
| DLLEXPORT int64  | getRelativeMilliseconds () const | 
|   | returns the difference as the number of milliseconds between the date/time value and the local time at the moment of the call, for absolute date/time values; for relative date/time values, the duration is converted to milliseconds and returned as an integer  More...
  | 
|   | 
| DLLEXPORT int64  | getRelativeSeconds () const | 
|   | returns the difference as the number of seconds between the date/time value and the local time at the moment of the call for absolute date/time values; for relative date/time values, the duration is converted to seconds and returned as an integer  More...
  | 
|   | 
| DLLEXPORT double  | getRelativeSecondsDouble () const | 
|   | returns the difference as the number of seconds between the date/time value and the local time at the moment of the call for absolute date/time values; for relative date/time values, the duration is converted to seconds and returned as a floating-point value with fractional seconds as digits to the right of the decimal point  More...
  | 
|   | 
| DLLEXPORT int  | getSecond () const | 
|   | returns the second portion of the date-time value (in local time according to the time zone for absolute date/time values)  More...
  | 
|   | 
| 
DLLEXPORT void  | getTM (hashdecl tm *tms) const | 
|   | sets a "hashdecl tm" from the current date/time value for the time zone for the object; use DateTime::getInfo() instead 
  | 
|   | 
| DLLEXPORT short  | getYear () const | 
|   | returns the year portion of the date-time value (in local time according to the time zone for absolute date/time values)  More...
  | 
|   | 
| 
DLLEXPORT const AbstractQoreZoneInfo *  | getZone () const | 
|   | gets the time zone for the object; returns 0 for relative date/time values 
  | 
|   | 
| 
DLLEXPORT bool  | hasValue () const | 
|   | returns true if the object has a value, false if not (zero value = 1970-01-01Z for absolute times, or all relative components = 0) 
  | 
|   | 
| DLLEXPORT bool  | isAbsolute () const | 
|   | returns true if the value is an absolute date-time value  More...
  | 
|   | 
| DLLEXPORT bool  | isRelative () const | 
|   | returns true if the value is a relative date-time value  More...
  | 
|   | 
| DLLEXPORT void  | setDate (int64 seconds) | 
|   | sets the absolute date value based on the number of seconds from January 1, 1970  More...
  | 
|   | 
| DLLEXPORT void  | setDate (int64 seconds, int ms) | 
|   | sets the absolute date value based on the number of seconds from January 1, 1970 UTC (plus milliseconds)  More...
  | 
|   | 
| DLLEXPORT void  | setDate (const AbstractQoreZoneInfo *zone, int64 seconds, int us) | 
|   | sets the absolute date value based on the number of seconds from January 1, 1970 UTC (plus microseconds)  More...
  | 
|   | 
| 
DLLEXPORT void  | setDate (const AbstractQoreZoneInfo *n_zone, int n_year, int n_month, int n_day, int n_hour=0, int n_minute=0, int n_second=0, int n_us=0) | 
|   | sets the date to an absolute date/time as given 
  | 
|   | 
| DLLEXPORT void  | setDate (const char *str) | 
|   | sets an absolute date value from a string with a flexible format  More...
  | 
|   | 
| DLLEXPORT void  | setDate (const char *str, ExceptionSink *xsink) | 
|   | sets an absolute date value from a string with a flexible format  More...
  | 
|   | 
| DLLEXPORT void  | setDate (const AbstractQoreZoneInfo *zone, const char *str) | 
|   | sets an absolute date value from a time zone pointer and a string with a flexible format  More...
  | 
|   | 
| 
DLLEXPORT void  | setDate (const hashdecl tm *tms, short ms=0) | 
|   | sets the absolute date from a "hashdecl tm" pointer and millisecond value 
  | 
|   | 
| 
DLLEXPORT void  | setDate (const DateTime &date) | 
|   | sets the date from a DateTime reference 
  | 
|   | 
| DLLEXPORT void  | setLocalDate (const AbstractQoreZoneInfo *zone, int64 seconds, int us) | 
|   | sets the absolute date value based on the number of seconds from January 1, 1970 in the given time zone (plus microseconds)  More...
  | 
|   | 
| DLLEXPORT void  | setNow () | 
|   | sets the current date and time in the current time zone; current contents are overwritten  More...
  | 
|   | 
| DLLEXPORT void  | setNow (const AbstractQoreZoneInfo *zone) | 
|   | sets the current date and time in the given time zone; current contents are overwritten  More...
  | 
|   | 
| 
DLLEXPORT void  | setRelativeDate (const char *str) | 
|   | sets a relative date from a string in the format YYYYMMDDHHmmSS 
  | 
|   | 
| 
DLLEXPORT void  | setRelativeDateSeconds (int64 s, int us=0) | 
|   | set the object to a relative date/time value as given in seconds and optionally microseconds 
  | 
|   | 
| DLLEXPORT void  | setTime (int h, int m, int s, short ms=0) | 
|   | sets the time from hours, minutes, seconds, and milliseconds  More...
  | 
|   | 
| 
DLLEXPORT void  | setZone (const AbstractQoreZoneInfo *n_zone) | 
|   | changes the time zone for the time without updating the epoch offset 
  | 
|   | 
| 
DLLEXPORT DateTime *  | unaryMinus () const | 
|   | returns the negative time from the current time 
  | 
|   | 
| 
DLLEXPORT void  | unaryMinusInPlace () | 
|   | converts the current value to the negative of itself 
  | 
|   | 
 | 
| static DLLEXPORT DateTimeNode *  | getDateFromISOWeek (int year, int week, int day, ExceptionSink *xsink) | 
|   | returns a DateTimeNode value as generated from the ISO-8601 week information  More...
  | 
|   | 
| 
static DLLLOCAL qore_type_t  | getStaticTypeCode () | 
|   | returns the type code (useful in templates) 
  | 
|   | 
| 
static DLLLOCAL const char *  | getStaticTypeName () | 
|   | returns the type name (useful in templates) 
  | 
|   | 
| 
static DLLEXPORT DateTimeNode *  | makeAbsolute (const AbstractQoreZoneInfo *n_zone, int n_year, int n_month, int n_day, int n_hour=0, int n_minute=0, int n_second=0, int n_us=0) | 
|   | static "constructor" to create an absolute time, including microseconds 
  | 
|   | 
| static DLLEXPORT DateTimeNode *  | makeAbsolute (const AbstractQoreZoneInfo *n_zone, int n_year, int n_month, int n_day, int n_hour, int n_minute, int n_second, int n_us, ExceptionSink *xsink) | 
|   | static "constructor" to create an absolute time, including microseconds, throws an exception with invalid date/time components  More...
  | 
|   | 
| static DLLEXPORT DateTimeNode *  | makeAbsolute (const AbstractQoreZoneInfo *zone, int64 seconds, int us=0) | 
|   | static "constructor" to create an absolute time as an offset from the epoch, including microseconds  More...
  | 
|   | 
| static DLLEXPORT DateTimeNode *  | makeAbsoluteLocal (const AbstractQoreZoneInfo *zone, int64 seconds, int us=0) | 
|   | static "constructor" to create an absolute time as an offset from the given time zone's epoch, including microseconds  More...
  | 
|   | 
| 
static DLLEXPORT DateTimeNode *  | makeRelative (int n_year, int n_month, int n_day, int n_hour=0, int n_minute=0, int n_second=0, int n_us=0) | 
|   | static "constructor" to create a relative time, including microseconds 
  | 
|   | 
| 
static DLLEXPORT DateTimeNode *  | makeRelativeFromSeconds (int64 n_second, int n_us=0) | 
|   | static "constructor" to create a relative time, including microseconds 
  | 
|   | 
| 
static DLLEXPORT int  | compareDates (const DateTime *left, const DateTime *right) | 
|   | returns -1, 0, or 1 if the left date is less than, equal, or greater than the right date 
  | 
|   | 
| static DLLEXPORT DateTime *  | getDateFromISOWeek (int year, int week, int day, ExceptionSink *xsink) | 
|   | returns a DateTime value from ISO-8601 week and day offsets  More...
  | 
|   | 
| 
static DLLEXPORT int  | getLastDayOfMonth (int month, int year) | 
|   | returns the number of days in the month given according to a proleptic gregorian calendar 
  | 
|   | 
| 
static DLLEXPORT bool  | isLeapYear (int year) | 
|   | returns true if the year passed is a leap year according to a proleptic gregorian calendar 
  | 
|   | 
| 
static DLLEXPORT DateTime *  | makeAbsolute (const AbstractQoreZoneInfo *n_zone, int n_year, int n_month, int n_day, int n_hour=0, int n_minute=0, int n_second=0, int n_us=0) | 
|   | static "constructor" to create an absolute time, including microseconds 
  | 
|   | 
| static DLLEXPORT DateTime *  | makeAbsolute (const AbstractQoreZoneInfo *zone, int64 seconds, int us=0) | 
|   | static "constructor" to create an absolute time as an offset from the epoch, including microseconds  More...
  | 
|   | 
| static DLLEXPORT DateTime *  | makeAbsoluteLocal (const AbstractQoreZoneInfo *zone, int64 seconds, int us=0) | 
|   | static "constructor" to create an absolute time as an offset from the given time zone's epoch, including microseconds  More...
  | 
|   | 
| 
static DLLEXPORT DateTime *  | makeRelative (int n_year, int n_month, int n_day, int n_hour=0, int n_minute=0, int n_second=0, int n_us=0) | 
|   | static "constructor" to create a relative time, including microseconds 
  | 
|   | 
| 
static DLLEXPORT DateTime *  | makeRelativeFromSeconds (int64 n_second, int n_us=0) | 
|   | static "constructor" to create a relative time, including microseconds 
  | 
|   |