Qore Programming Language  0.8.11.1
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
DateTimeNode Class Reference

Qore's parse tree/value type for date-time values, reference-counted, dynamically-allocated only. More...

#include <DateTimeNode.h>

Inheritance diagram for DateTimeNode:
Inheritance graph
[legend]
Collaboration diagram for DateTimeNode:
Collaboration graph
[legend]

Public Member Functions

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 char *date)
 constructor for setting the date from a string with a flexible format More...
 
DLLEXPORT DateTimeNode (const AbstractQoreZoneInfo *zone, const char *date)
 constructor for setting the date from a string with a flexible format More...
 
DLLEXPORT DateTimeNode (struct tm *tms)
 constructor for setting an absolute date based on a "struct tm" More...
 
DLLEXPORT DateTimeNode (const DateTimeNode &dt)
 copy constructor
 
DLLEXPORT DateTimeNode (const DateTime &dt)
 constructor to set the date from a DateTime value
 
DLLEXPORT DateTimeNodeadd (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 DateTimeNodecopy () const
 returns a copy of the DateTimeNode, the caller owns the pointer's reference count More...
 
virtual DLLEXPORT QoreStringgetAsString (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 DateTimegetDateTimeRepresentation (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 QoreStringgetStringRepresentation (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 class AbstractQoreNoderealCopy () const
 returns a copy of the object; the caller owns the reference count More...
 
DLLEXPORT DateTimeNodesubtractBy (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 DateTimeNodeunaryMinus () const
 returns the negative time from the current time
 
- Public Member Functions inherited from SimpleValueQoreNode
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"
 
- Public Member Functions inherited from SimpleQoreNode
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
 
- Public Member Functions inherited from AbstractQoreNode
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
 
DLLEXPORT int64 bigIntEval (ExceptionSink *xsink) const
 evaluates the object and returns a 64-bit integer value More...
 
DLLEXPORT bool boolEval (ExceptionSink *xsink) const
 evaluates the object and returns a boolean value 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...
 
DLLEXPORT AbstractQoreNodeeval (ExceptionSink *xsink) const
 evaluates the object and returns a value (or 0) More...
 
DLLEXPORT AbstractQoreNodeeval (bool &needs_deref, ExceptionSink *xsink) const
 optionally evaluates the argument More...
 
DLLEXPORT double floatEval (ExceptionSink *xsink) const
 evaluates the object and returns a floating-point value 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...
 
DLLEXPORT int integerEval (ExceptionSink *xsink) const
 evaluates the object and returns an integer value 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...
 
virtual DLLEXPORT AbstractQoreNodeparseInit (LocalVar *oflag, int pflag, int &lvids, const QoreTypeInfo *&typeInfo)
 for use by parse types to initialize them for execution during stage 1 parsing More...
 
DLLEXPORT void ref () const
 increments the reference count
 
DLLEXPORT AbstractQoreNoderefSelf () const
 returns "this" with an incremented reference count More...
 
- Public Member Functions inherited from QoreReferenceCounter
DLLEXPORT QoreReferenceCounter ()
 creates the reference counter object
 
DLLEXPORT ~QoreReferenceCounter ()
 destroys the reference counter object
 
DLLLOCAL bool is_unique () const
 returns true if the reference count is 1 More...
 
DLLLOCAL 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
 
- Public Member Functions inherited from DateTime
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 char *date)
 constructor for setting the date from a string 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 struct tm *tms)
 constructor for setting an absolute date based on a "struct tm" More...
 
DLLEXPORT DateTime (const DateTime &dt)
 copy constructor
 
DLLEXPORT ~DateTime ()
 destroys the object and frees all memory
 
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 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 (struct tm *tms) const
 sets a "struct 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 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 struct tm *tms, short ms=0)
 sets the absolute date from a "struct 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 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 DateTimeunaryMinus () const
 returns the negative time from the current time
 
DLLEXPORT void unaryMinusInPlace ()
 converts the current value to the negative of itself
 

Static Public Member Functions

static DLLEXPORT DateTimeNodegetDateFromISOWeek (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 DateTimeNodemakeAbsolute (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 DateTimeNodemakeAbsolute (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 DateTimeNodemakeAbsoluteLocal (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 DateTimeNodemakeRelative (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 Public Member Functions inherited from DateTime
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 DateTimegetDateFromISOWeek (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 DateTimemakeAbsolute (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 DateTimemakeAbsolute (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 DateTimemakeAbsoluteLocal (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 DateTimemakeRelative (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
 

Protected Member Functions

virtual DLLEXPORT ~DateTimeNode ()
 protected destructor only called when references = 0, use deref() instead
 
- Protected Member Functions inherited from SimpleValueQoreNode
virtual DLLEXPORT int64 bigIntEvalImpl (ExceptionSink *xsink) const
 should never be called for value types More...
 
virtual DLLEXPORT bool boolEvalImpl (ExceptionSink *xsink) const
 should never be called for value types More...
 
virtual DLLEXPORT AbstractQoreNodeevalImpl (ExceptionSink *xsink) const
 should never be called for value types More...
 
virtual DLLEXPORT AbstractQoreNodeevalImpl (bool &needs_deref, ExceptionSink *xsink) const
 should never be called for value types More...
 
virtual DLLEXPORT double floatEvalImpl (ExceptionSink *xsink) const
 should never be called for value types More...
 
virtual DLLEXPORT int integerEvalImpl (ExceptionSink *xsink) const
 should never be called for value types More...
 
- Protected Member Functions inherited from AbstractQoreNode
virtual DLLEXPORT ~AbstractQoreNode ()
 default destructor does nothing More...
 
- Protected Member Functions inherited from DateTime
DLLLOCAL DateTime (qore_date_private *n_priv)
 this constructor is not exported in the library
 
DLLLOCAL DateTimeoperator= (const DateTime &)
 this function is not implemented; it is here as a private function in order to prohibit it from being used
 

Additional Inherited Members

- Protected Attributes inherited from AbstractQoreNode
bool custom_reference_handlers: 1
 set to one for objects that need custom reference handlers
 
bool needs_eval_flag: 1
 if this is true then the type can be evaluated
 
bool there_can_be_only_one: 1
 if this is set to true, then reference counting is turned off for objects of this class
 
qore_type_t type: 11
 the type of the object More...
 
bool value: 1
 this is true for values, if false then either the type needs evaluation to produce a value or is a parse expression
 
- Protected Attributes inherited from QoreReferenceCounter
QoreThreadLock mRO
 pthread lock to ensure atomicity of updates for architectures where we don't have an atomic increment and decrement implementation
 
- Protected Attributes inherited from DateTime
class qore_date_private * priv
 private date data - most are ints so relative dates can hold a lot of data
 

Detailed Description

Qore's parse tree/value type for date-time values, reference-counted, dynamically-allocated only.

Constructor & Destructor Documentation

DLLEXPORT DateTimeNode::DateTimeNode ( bool  r = false)

constructor for an empty object

Parameters
rsets the "relative" flag for the object
DLLEXPORT DateTimeNode::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

Parameters
n_yearthe year value
n_monththe months value
n_daythe days value
n_hourthe hours value
n_minutethe minutes value
n_secondthe seconds value
n_msthe milliseconds value
n_relativethe relative flag
DLLEXPORT DateTimeNode::DateTimeNode ( int64  seconds)

constructor for setting an absolute date based on the number of seconds from January 1, 1970

Parameters
secondsthe number of seconds from January 1, 1970
DLLEXPORT DateTimeNode::DateTimeNode ( int64  seconds,
int  ms 
)

constructor for setting an absolute date based on the number of seconds from January 1, 1970 (plus milliseconds)

Parameters
secondsthe number of seconds from January 1, 1970
msthe milliseconds portion of the time
DLLEXPORT DateTimeNode::DateTimeNode ( const char *  date)

constructor for setting the date from a string with a flexible format

Parameters
datethe string to use to set the date
DLLEXPORT DateTimeNode::DateTimeNode ( const AbstractQoreZoneInfo *  zone,
const char *  date 
)

constructor for setting the date from a string with a flexible format

Parameters
zonethe time zone for the time
datethe string to use to set the date
DLLEXPORT DateTimeNode::DateTimeNode ( struct tm *  tms)

constructor for setting an absolute date based on a "struct tm"

Parameters
tmsa structure giving the absolute date to set

Member Function Documentation

DLLEXPORT DateTimeNode* 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

Returns
a new DateTimeNode value, the caller owns the pointer's reference count
DLLEXPORT DateTimeNode* DateTimeNode::copy ( ) const

returns a copy of the DateTimeNode, the caller owns the pointer's reference count

Returns
a copy of the DateTimeNode, the caller owns the pointer's reference count
virtual DLLEXPORT QoreString* DateTimeNode::getAsString ( bool &  del,
int  foff,
ExceptionSink xsink 
) const
virtual

returns the date/time value as a formatted string for n and N printf formatting, del is set to true

the format for absolute date/time value is: YYYY-MM-DD HH:mm:SS the format for relative date/time values is: <time: x years, x months, ...> NOTE: do not use this function directly, use QoreStringValueHelper instead

Parameters
deloutput parameter: always set to true by this function, meaning that the caller owns the QoreString pointer returned (and must delete it manually)
foffignored for this implementation of the file
xsinkignored for this implementation of the file
Returns
a QoreString pointer, use the del output parameter to determine ownership of the pointer
See also
QoreStringValueHelper

Implements AbstractQoreNode.

virtual DLLEXPORT int DateTimeNode::getAsString ( QoreString str,
int  foff,
ExceptionSink xsink 
) const
virtual

concatenates a string representation of the date/time value (designed for n and N printf formatting) to a QoreString reference

the format for absolute date/time value is: YYYY-MM-DD HH:mm:SS the format for relative date/time values is: <time: x years, x months, ...>

Parameters
strthe QoreString reference to concatenate the date/time value to
foffignored for this implementation of the file
xsinkignored for this implementation of the file
See also
QoreNodeAsStringHelper

Implements AbstractQoreNode.

static DLLEXPORT DateTimeNode* DateTimeNode::getDateFromISOWeek ( int  year,
int  week,
int  day,
ExceptionSink xsink 
)
static

returns a DateTimeNode value as generated from the ISO-8601 week information

NOTE: ISO-8601 week days go from 1 - 7 = Mon - Sun, a 0 return value means an exception was raised in the case the ISO-8601 week information is invalid

Parameters
yearthe ISO-8601 year (may differ from the actual calendar year)
weekthe ISO-8601 week number in the year
daythe ISO-8601 day number (1=Mon, 7=Sun)
xsinkif an error occurs, the Qore-language exception information will be added here
virtual DLLEXPORT DateTime* DateTimeNode::getDateTimeRepresentation ( bool &  del) const
virtual

returns "this" as a DateTime, del is set to false

NOTE: Use the DateTimeValueHelper class instead of using this function directly

Parameters
deloutput parameter: if del is true, then the returned DateTime pointer belongs to the caller (and must be deleted manually), if false, then it must not be
See also
DateTimeValueHelper

Reimplemented from AbstractQoreNode.

virtual DLLEXPORT void DateTimeNode::getDateTimeRepresentation ( DateTime dt) const
virtual

assigns this date/time representation to the passed DateTime reference

Parameters
dtthe reference where the current date/time value will be copied

Reimplemented from AbstractQoreNode.

virtual DLLEXPORT QoreString* DateTimeNode::getStringRepresentation ( bool &  del) const
virtual

returns a string in the format YYYYMMDDHHmmSS, del is set to true

NOTE: do not use this function directly, use QoreStringValueHelper instead

Parameters
deloutput parameter: if del is true, then the resulting QoreString pointer belongs to the caller (and must be deleted manually), if false it must not be
Returns
a QoreString pointer, use the del output parameter to determine ownership of the pointer
See also
QoreStringValueHelper

Reimplemented from AbstractQoreNode.

virtual DLLEXPORT void DateTimeNode::getStringRepresentation ( QoreString str) const
virtual

concatentates the date/time value in the format YYYYMMDDHHmmDD to an existing QoreString reference

Parameters
stra reference to a QoreString where date/time value will be concatenated in the format YYYYMMDDHHmmDD

Reimplemented from AbstractQoreNode.

virtual DLLEXPORT bool DateTimeNode::is_equal_hard ( const AbstractQoreNode v,
ExceptionSink xsink 
) const
virtual

tests for equality ("deep compare" including all contained values for container types) without type conversions (hard compare)

Parameters
vthe value to compare
xsinkif an error occurs, the Qore-language exception information will be added here
Returns
true if the objects are equal, false if not

Implements AbstractQoreNode.

virtual DLLEXPORT bool DateTimeNode::is_equal_soft ( const AbstractQoreNode v,
ExceptionSink xsink 
) const
virtual

tests for equality with possible type conversion (soft compare)

this function does not throw any Qore-language exceptions

Parameters
vthe value to compare
xsinkis not used in this implementation of the function

Implements AbstractQoreNode.

static DLLEXPORT DateTimeNode* DateTimeNode::makeAbsolute ( const AbstractQoreZoneInfo *  zone,
int64  seconds,
int  us = 0 
)
static

static "constructor" to create an absolute time as an offset from the epoch, including microseconds

Parameters
zonetime zone for the date/time value, 0 = UTC,
See also
currentTZ()
Parameters
secondsthe number of seconds from January 1, 1970
usthe microseconds portion of the time
static DLLEXPORT DateTimeNode* DateTimeNode::makeAbsoluteLocal ( const AbstractQoreZoneInfo *  zone,
int64  seconds,
int  us = 0 
)
static

static "constructor" to create an absolute time as an offset from the given time zone's epoch, including microseconds

Parameters
zonetime zone for the date/time value, 0 = UTC,
See also
currentTZ()
Parameters
secondsthe number of seconds from January 1, 1970 in the time zone passed as the first argument
usthe microseconds portion of the time
virtual DLLEXPORT class AbstractQoreNode* DateTimeNode::realCopy ( ) const
virtual

returns a copy of the object; the caller owns the reference count

Returns
a copy of the object; the caller owns the reference count

Implements AbstractQoreNode.

DLLEXPORT DateTimeNode* 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

Returns
a new DateTimeNode value, the caller owns the pointer's reference count

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