OCILIB (C and C++ Driver for Oracle)
4.7.7
Open source and cross platform Oracle Driver delivering efficient access to Oracle databases.
|
Object identifying the SQL data type TIMESTAMP. More...
#include <types.hpp>
Inherits ocilib::core::HandleHolder< OCI_Timestamp * >, and ocilib::core::Streamable.
Public Types | |
enum | TimestampTypeValues { NoTimeZone = OCI_TIMESTAMP , WithTimeZone = OCI_TIMESTAMP_TZ , WithLocalTimeZone = OCI_TIMESTAMP_LTZ } |
Interval types enumerated values. More... | |
typedef core::Enum< TimestampTypeValues > | TimestampType |
Type of timestamp. | |
Public Member Functions | |
Timestamp () | |
Create an empty null timestamp instance. | |
Timestamp (const Timestamp &other) | |
For value types, overrides HandleHolder copy constructor to perform assignment rather than ref counting management. | |
Timestamp & | operator= (const Timestamp &other) noexcept |
For value types, overrides HandleHolder assignment operator to perform assignment rather than ref counting management. | |
Timestamp (TimestampType type) | |
Create a new instance of the given type. | |
Timestamp (TimestampType type, const ostring &data, const ostring &format=OTEXT("")) | |
Creates a timestamp object with the value provided by the input date time string. | |
TimestampType | GetType () const |
Return the type of the given timestamp object. | |
void | Convert (const Timestamp &other) |
Convert the current timestamp to the type of the given timestamp. | |
bool | IsValid () const |
Check if the given timestamp is valid. | |
int | GetYear () const |
Return the timestamp year value. | |
void | SetYear (int value) |
Set the timestamp year value. | |
int | GetMonth () const |
Return the timestamp month value. | |
void | SetMonth (int value) |
Set the timestamp month value. | |
int | GetDay () const |
Return the timestamp day value. | |
void | SetDay (int value) |
Set the timestamp day value. | |
int | GetHours () const |
Return the timestamp hours value. | |
void | SetHours (int value) |
Set the timestamp hours value. | |
int | GetMinutes () const |
Return the timestamp minutes value. | |
void | SetMinutes (int value) |
Set the timestamp minutes value. | |
int | GetSeconds () const |
Return the timestamp seconds value. | |
void | SetSeconds (int value) |
Set the timestamp seconds value. | |
int | GetMilliSeconds () const |
Return the timestamp seconds value. | |
void | SetMilliSeconds (int value) |
Set the timestamp milliseconds value. | |
void | GetDate (int &year, int &month, int &day) const |
Extract the date parts. | |
void | GetTime (int &hour, int &min, int &sec, int &fsec) const |
Extract time parts. | |
void | SetDate (int year, int month, int day) |
Set the date part. | |
void | SetTime (int hour, int min, int sec, int fsec) |
Set the time part. | |
void | GetDateTime (int &year, int &month, int &day, int &hour, int &min, int &sec, int &fsec) const |
Extract date and time parts. | |
void | SetDateTime (int year, int month, int day, int hour, int min, int sec, int fsec, const ostring &timeZone=OTEXT("")) |
Set the timestamp value from given date time parts. | |
ostring | GetTimeZone () const |
Return the name of the current time zone. | |
void | SetTimeZone (const ostring &timeZone) |
Set the given time zone to the timestamp. | |
void | GetTimeZoneOffset (int &hour, int &min) const |
Return the time zone (hour, minute) offsets. | |
void | FromString (const ostring &data, const ostring &format=OCI_STRING_FORMAT_DATE) |
Assign to the timestamp object the value provided by the input date time string. | |
ostring | ToString (const ostring &format, int precision) const |
Convert the timestamp value to a string using the given format and precision. | |
ostring | ToString () const override |
Convert the timestamp value to a string using default date format and no precision. | |
Timestamp | Clone () const |
Clone the current instance to a new one performing deep copy. | |
Timestamp & | operator++ () |
Increment the timestamp by 1 day. | |
Timestamp | operator++ (int) |
Increment the timestamp by 1 day. | |
Timestamp & | operator-- () |
Decrement the Timestamp by 1 day. | |
Timestamp | operator-- (int) |
Decrement the Timestamp by 1 day. | |
Timestamp | operator+ (int value) const |
Return a new Timestamp holding the current Timestamp value incremented by the given number of days. | |
Timestamp | operator- (int value) const |
Return a new Timestamp holding the current Timestamp value decremented by the given number of days. | |
Interval | operator- (const Timestamp &other) |
Return an interval storing the difference between the current timestamp and the given one. | |
Timestamp & | operator+= (int value) |
Increment the Timestamp by the given number of days. | |
Timestamp & | operator-= (int value) |
Decrement the Timestamp by the given number of days. | |
Timestamp | operator+ (const Interval &other) const |
Return a new Timestamp holding the sum of the current Timestamp value and the given Interval value. | |
Timestamp | operator- (const Interval &other) const |
Return a new Timestamp holding the difference of the current Timestamp value and the given Interval value. | |
Timestamp & | operator+= (const Interval &other) |
Increment the current Value with the given Interval value. | |
Timestamp & | operator-= (const Interval &other) |
Decrement the current Value with the given Interval value. | |
bool | operator== (const Timestamp &other) const |
Indicates if the current Timestamp value is equal to the given Timestamp value. | |
bool | operator!= (const Timestamp &other) const |
Indicates if the current Timestamp value is not equal the given Timestamp value. | |
bool | operator> (const Timestamp &other) const |
Indicates if the current Timestamp value is superior to the given Timestamp value. | |
bool | operator< (const Timestamp &other) const |
Indicates if the current Timestamp value is inferior to the given Timestamp value. | |
bool | operator>= (const Timestamp &other) const |
Indicates if the current Timestamp value is superior or equal to the given Timestamp value. | |
bool | operator<= (const Timestamp &other) const |
Indicates if the current Timestamp value is inferior or equal to the given Timestamp value. | |
Static Public Member Functions | |
static Timestamp | SysTimestamp (TimestampType type=NoTimeZone) |
return the current system timestamp | |
static void | Substract (const Timestamp &lsh, const Timestamp &rsh, Interval &result) |
Subtract the given two timestamp and store the result into the given Interval. | |
Object identifying the SQL data type TIMESTAMP.
This class wraps the OCILIB object handle OCI_Timestamp and its related methods
Type of timestamp.
Possible values are Timestamp::TimestampTypeValues
|
inline |
Create an empty null timestamp instance.
Definition at line 31 of file Timestamp.hpp.
|
inline |
For value types, overrides HandleHolder copy constructor to perform assignment rather than ref counting management.
other | - value to assign |
Definition at line 56 of file Timestamp.hpp.
|
inline |
Create a new instance of the given type.
type | - Timestamp type to create |
Definition at line 35 of file Timestamp.hpp.
|
inline |
Creates a timestamp object with the value provided by the input date time string.
type | - Timestamp type to create |
data | - String date time |
format | - format of the date time provided in parameter 'data' |
Definition at line 40 of file Timestamp.hpp.
References ocilib::core::Check(), FromString(), and OCI_TimestampCreate().
|
inlinestatic |
return the current system timestamp
type | - Timestamp type to create |
Definition at line 306 of file Timestamp.hpp.
References ocilib::core::Check(), and OCI_TimestampSysTimestamp().
For value types, overrides HandleHolder assignment operator to perform assignment rather than ref counting management.
other | - value to assign |
Definition at line 61 of file Timestamp.hpp.
References ocilib::core::Check(), and OCI_TimestampAssign().
|
inline |
Return the type of the given timestamp object.
Definition at line 99 of file Timestamp.hpp.
References ocilib::core::Check(), and OCI_TimestampGetType().
Referenced by Clone(), GetTimeZone(), and SetTimeZone().
|
inline |
Convert the current timestamp to the type of the given timestamp.
other | - Timestamp to use for the type conversion |
Definition at line 109 of file Timestamp.hpp.
References ocilib::core::Check(), and OCI_TimestampConvert().
|
inline |
Check if the given timestamp is valid.
Definition at line 114 of file Timestamp.hpp.
References ocilib::core::Check(), and OCI_TimestampCheck().
|
inline |
Return the timestamp year value.
Definition at line 119 of file Timestamp.hpp.
References GetDate().
|
inline |
Set the timestamp year value.
Definition at line 128 of file Timestamp.hpp.
|
inline |
Return the timestamp month value.
Definition at line 136 of file Timestamp.hpp.
References GetDate().
|
inline |
Set the timestamp month value.
Definition at line 145 of file Timestamp.hpp.
|
inline |
|
inline |
Set the timestamp day value.
Definition at line 162 of file Timestamp.hpp.
|
inline |
Return the timestamp hours value.
Definition at line 170 of file Timestamp.hpp.
References GetTime().
|
inline |
Set the timestamp hours value.
Definition at line 179 of file Timestamp.hpp.
|
inline |
Return the timestamp minutes value.
Definition at line 187 of file Timestamp.hpp.
References GetTime().
|
inline |
Set the timestamp minutes value.
Definition at line 196 of file Timestamp.hpp.
|
inline |
Return the timestamp seconds value.
Definition at line 204 of file Timestamp.hpp.
References GetTime().
|
inline |
Set the timestamp seconds value.
Definition at line 213 of file Timestamp.hpp.
|
inline |
Return the timestamp seconds value.
Definition at line 221 of file Timestamp.hpp.
References GetTime().
|
inline |
Set the timestamp milliseconds value.
Definition at line 230 of file Timestamp.hpp.
|
inline |
Extract the date parts.
year | - Place holder for year value |
month | - Place holder for month value |
day | - Place holder for day value |
Definition at line 238 of file Timestamp.hpp.
References ocilib::core::Check(), and OCI_TimestampGetDate().
Referenced by GetDay(), GetMonth(), GetYear(), SetDay(), SetMonth(), and SetYear().
|
inline |
Extract time parts.
hour | - Place holder for hour value |
min | - Place holder for minute value |
sec | - Place holder for second value |
fsec | - Place holder for fractional part of the seconds |
Definition at line 243 of file Timestamp.hpp.
References ocilib::core::Check(), and OCI_TimestampGetTime().
Referenced by GetHours(), GetMilliSeconds(), GetMinutes(), GetSeconds(), SetHours(), SetMilliSeconds(), SetMinutes(), and SetSeconds().
|
inline |
Set the date part.
year | - Year value |
month | - Month value |
day | - Day value |
Definition at line 253 of file Timestamp.hpp.
References GetDateTime(), and SetDateTime().
Referenced by SetDay(), SetMonth(), and SetYear().
|
inline |
Set the time part.
hour | - Hour value |
min | - Minute value |
sec | - Second value |
fsec | - Place holder for fractional part of the seconds |
Definition at line 261 of file Timestamp.hpp.
References GetDateTime(), and SetDateTime().
Referenced by SetHours(), SetMilliSeconds(), SetMinutes(), and SetSeconds().
|
inline |
Extract date and time parts.
year | - Place holder for year value |
month | - Place holder for month value |
day | - Place holder for day value |
hour | - Place holder for hour value |
min | - Place holder for minute value |
sec | - Place holder for second value |
fsec | - Place holder for fractional part of the seconds |
Definition at line 248 of file Timestamp.hpp.
References ocilib::core::Check(), and OCI_TimestampGetDateTime().
Referenced by SetDate(), SetTime(), and SetTimeZone().
|
inline |
Set the timestamp value from given date time parts.
year | - Year value |
month | - Month value |
day | - Day value |
hour | - Hour value |
min | - Minutes value |
sec | - Seconds value |
fsec | - Fractional part of seconds value |
timeZone | - name of a time zone to use [optional] |
Definition at line 104 of file Timestamp.hpp.
References ocilib::core::Check(), and OCI_TimestampConstruct().
Referenced by SetDate(), SetTime(), and SetTimeZone().
|
inline |
Return the name of the current time zone.
Definition at line 280 of file Timestamp.hpp.
References ocilib::core::Check(), GetType(), ocilib::core::MakeString(), NoTimeZone, and OCI_TimestampGetTimeZoneName().
|
inline |
Set the given time zone to the timestamp.
Definition at line 269 of file Timestamp.hpp.
References GetDateTime(), GetType(), SetDateTime(), and WithTimeZone.
|
inline |
Return the time zone (hour, minute) offsets.
hour | - Place holder for hour value |
min | - Place holder for min value |
Definition at line 296 of file Timestamp.hpp.
References ocilib::core::Check(), and OCI_TimestampGetTimeZoneOffset().
|
inlinestatic |
Subtract the given two timestamp and store the result into the given Interval.
Definition at line 301 of file Timestamp.hpp.
References ocilib::core::Check(), and OCI_TimestampSubtract().
|
inline |
Assign to the timestamp object the value provided by the input date time string.
data | - String date time |
format | - format of the date time provided in parameter 'data' |
Definition at line 315 of file Timestamp.hpp.
References ocilib::core::Check(), ocilib::FormatTimestamp, ocilib::Environment::GetFormat(), and OCI_TimestampFromText().
Referenced by Timestamp().
|
inline |
Convert the timestamp value to a string using the given format and precision.
format | - date time / timestamp format to use |
precision | - precision for milliseconds |
Definition at line 320 of file Timestamp.hpp.
References ocilib::core::Check(), ocilib::core::MakeString(), and OCI_TimestampToText().
|
inlineoverridevirtual |
Convert the timestamp value to a string using default date format and no precision.
Implements ocilib::core::Streamable.
Definition at line 336 of file Timestamp.hpp.
References ocilib::FormatTimestamp, ocilib::Environment::GetFormat(), and ToString().
Referenced by ToString().
|
inline |
Clone the current instance to a new one performing deep copy.
Definition at line 85 of file Timestamp.hpp.
References ocilib::core::Check(), GetType(), and OCI_TimestampAssign().
Referenced by operator+(), operator++(), operator-(), and operator--().
|
inline |
Increment the timestamp by 1 day.
Definition at line 341 of file Timestamp.hpp.
|
inline |
|
inline |
Decrement the Timestamp by 1 day.
Definition at line 355 of file Timestamp.hpp.
|
inline |
|
inline |
Return a new Timestamp holding the current Timestamp value incremented by the given number of days.
Definition at line 369 of file Timestamp.hpp.
References Clone(), ocilib::Interval::DaySecond, and ocilib::Interval::SetDay().
|
inline |
Return a new Timestamp holding the current Timestamp value decremented by the given number of days.
Definition at line 377 of file Timestamp.hpp.
References Clone(), ocilib::Interval::DaySecond, and ocilib::Interval::SetDay().
Return an interval storing the difference between the current timestamp and the given one.
Definition at line 385 of file Timestamp.hpp.
References ocilib::core::Check(), ocilib::Interval::DaySecond, and OCI_TimestampSubtract().
|
inline |
Increment the Timestamp by the given number of days.
Definition at line 416 of file Timestamp.hpp.
References ocilib::Interval::DaySecond, and ocilib::Interval::SetDay().
|
inline |
Decrement the Timestamp by the given number of days.
Definition at line 423 of file Timestamp.hpp.
References ocilib::Interval::DaySecond, and ocilib::Interval::SetDay().
Increment the current Value with the given Interval value.
Definition at line 404 of file Timestamp.hpp.
References ocilib::core::Check(), and OCI_TimestampIntervalAdd().
Decrement the current Value with the given Interval value.
Definition at line 410 of file Timestamp.hpp.
References ocilib::core::Check(), and OCI_TimestampIntervalSub().
|
inline |
Indicates if the current Timestamp value is equal to the given Timestamp value.
Definition at line 430 of file Timestamp.hpp.
|
inline |
Indicates if the current Timestamp value is not equal the given Timestamp value.
Definition at line 435 of file Timestamp.hpp.
|
inline |
Indicates if the current Timestamp value is superior to the given Timestamp value.
Definition at line 440 of file Timestamp.hpp.
|
inline |
Indicates if the current Timestamp value is inferior to the given Timestamp value.
Definition at line 445 of file Timestamp.hpp.
|
inline |
Indicates if the current Timestamp value is superior or equal to the given Timestamp value.
Definition at line 450 of file Timestamp.hpp.
|
inline |
Indicates if the current Timestamp value is inferior or equal to the given Timestamp value.
Definition at line 457 of file Timestamp.hpp.