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 (const AbstractQoreZoneInfo *zone, const char *date) |
| constructor for setting the date from a string with a flexible format 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 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 DateTime &dt) |
| constructor to set the date from a DateTime value
|
|
DLLEXPORT | DateTimeNode (const DateTimeNode &dt) |
| copy constructor
|
|
DLLEXPORT | DateTimeNode (const QoreValue v) |
| constructor for creating a relative date from a value representing a number of seconds 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 (hashdecl tm *tms) |
| constructor for setting an absolute date based on a "hashdecl tm" 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 * | 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 int | parseInit (QoreValue &val, QoreParseContext &parse_context) |
| 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 (const SimpleQoreNode &v) |
| copy constructor
|
|
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
|
|
DLLEXPORT void | deref (ExceptionSink *xsink) |
| decrements the reference count and deletes the object when references = 0 More...
|
|
SimpleQoreNode & | operator= (const SimpleQoreNode &)=delete |
| this function is not implemented
|
|
DLLEXPORT | AbstractQoreNode (const AbstractQoreNode &v) |
| copy constructor
|
|
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...
|
|
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 (bool &needs_deref, ExceptionSink *xsink) const |
| optionally evaluates the argument More...
|
|
DLLEXPORT QoreValue | eval (ExceptionSink *xsink) const |
| evaluates the object and returns a value (or 0) More...
|
|
virtual DLLEXPORT QoreValue | evalImpl (bool &needs_deref, ExceptionSink *xsink) const =0 |
| optionally evaluates the argument More...
|
|
DLLEXPORT int64 | getAsBigInt () const |
| returns the 64-bit integer value of the object More...
|
|
virtual DLLLOCAL int64 | getAsBigIntImpl () const |
| default implementation, returns 0 More...
|
|
DLLEXPORT bool | getAsBool () const |
| returns the boolean value of the object More...
|
|
virtual DLLLOCAL bool | getAsBoolImpl () const |
| default implementation, returns false More...
|
|
DLLEXPORT double | getAsFloat () const |
| returns the float value of the object More...
|
|
virtual DLLLOCAL double | getAsFloatImpl () const |
| default implementation, returns 0.0 More...
|
|
DLLEXPORT int | getAsInt () const |
| returns the integer value of the object More...
|
|
virtual DLLLOCAL int | getAsIntImpl () const |
| default implementation, returns 0 More...
|
|
virtual DLLEXPORT QoreString * | getAsString (bool &del, int foff, ExceptionSink *xsink) const =0 |
| returns a QoreString giving the verbose string representation of the value (including all contained values for container types) More...
|
|
virtual DLLEXPORT int | getAsString (QoreString &str, int foff, ExceptionSink *xsink) const =0 |
| concatenate the verbose string representation of the value (including all contained values for container types) to an existing QoreString More...
|
|
virtual DLLEXPORT class DateTime * | getDateTimeRepresentation (bool &del) const |
| returns the DateTime representation of this type (default implementation: returns ZeroDate, del = false) More...
|
|
virtual DLLEXPORT void | getDateTimeRepresentation (DateTime &dt) const |
| assigns the date representation of a value to the DateTime reference passed, default implementation does nothing More...
|
|
virtual DLLEXPORT QoreString * | getStringRepresentation (bool &del) const |
| returns the value of the type converted to a string, default implementation: returns the empty string More...
|
|
virtual DLLEXPORT void | getStringRepresentation (QoreString &str) const |
| concatentates the value of the type to an existing QoreString reference, default implementation does nothing More...
|
|
DLLLOCAL qore_type_t | getType () const |
| returns the data type More...
|
|
virtual DLLEXPORT const char * | getTypeName () const =0 |
| returns the type name as a c string More...
|
|
virtual DLLEXPORT bool | is_equal_hard (const AbstractQoreNode *v, ExceptionSink *xsink) const =0 |
| 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 =0 |
| tests for equality ("deep compare" including all contained values for container types) with possible type conversion (soft compare) 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
|
|
virtual DLLLOCAL int | parseInit (QoreValue &val, QoreParseContext &parse_context) |
| for use by parse types to initialize them for execution during stage 1 parsing More...
|
|
virtual DLLEXPORT AbstractQoreNode * | realCopy () const =0 |
| returns a copy of the object; the caller owns the reference count More...
|
|
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 (const AbstractQoreZoneInfo *zone, const char *date) |
| constructor for setting the date from a string with a flexible format 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 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 DateTime &dt) |
| copy constructor
|
|
DLLEXPORT | DateTime (const QoreValue v) |
| constructor for creating a relative date from a value representing a number of seconds More...
|
|
DLLEXPORT | DateTime (const hashdecl tm *tms) |
| constructor for setting an absolute date based on a "hashdecl tm" 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 () |
| 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 (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 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 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 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 DateTime &date) |
| sets the date from a DateTime reference
|
|
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 (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 | 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, 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 *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 *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
|
|