OCILIB (C and C++ Driver for Oracle)
4.7.5
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 (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 |
Create a new instance of the given type.
type | - Timestamp type to create |
Definition at line 35 of file Timestamp.hpp.
References ocilib::core::Check(), and OCI_TimestampCreate().
|
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 44 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 281 of file Timestamp.hpp.
References ocilib::core::Check(), and OCI_TimestampSysTimestamp().
|
inline |
Return the type of the given timestamp object.
Definition at line 74 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 84 of file Timestamp.hpp.
References ocilib::core::Check(), and OCI_TimestampConvert().
|
inline |
Check if the given timestamp is valid.
Definition at line 89 of file Timestamp.hpp.
References ocilib::core::Check(), and OCI_TimestampCheck().
|
inline |
|
inline |
Set the timestamp year value.
Definition at line 103 of file Timestamp.hpp.
|
inline |
Return the timestamp month value.
Definition at line 111 of file Timestamp.hpp.
References GetDate().
|
inline |
Set the timestamp month value.
Definition at line 120 of file Timestamp.hpp.
|
inline |
|
inline |
Set the timestamp day value.
Definition at line 137 of file Timestamp.hpp.
|
inline |
Return the timestamp hours value.
Definition at line 145 of file Timestamp.hpp.
References GetTime().
|
inline |
Set the timestamp hours value.
Definition at line 154 of file Timestamp.hpp.
|
inline |
Return the timestamp minutes value.
Definition at line 162 of file Timestamp.hpp.
References GetTime().
|
inline |
Set the timestamp minutes value.
Definition at line 171 of file Timestamp.hpp.
|
inline |
Return the timestamp seconds value.
Definition at line 179 of file Timestamp.hpp.
References GetTime().
|
inline |
Set the timestamp seconds value.
Definition at line 188 of file Timestamp.hpp.
|
inline |
Return the timestamp seconds value.
Definition at line 196 of file Timestamp.hpp.
References GetTime().
|
inline |
Set the timestamp milliseconds value.
Definition at line 205 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 213 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 218 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 228 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 236 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 223 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 79 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 255 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 244 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 271 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 276 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 290 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 295 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 311 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 60 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 316 of file Timestamp.hpp.
|
inline |
|
inline |
Decrement the Timestamp by 1 day.
Definition at line 330 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 344 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 352 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 360 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 391 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 398 of file Timestamp.hpp.
References ocilib::Interval::DaySecond, and ocilib::Interval::SetDay().
Increment the current Value with the given Interval value.
Definition at line 379 of file Timestamp.hpp.
References ocilib::core::Check(), and OCI_TimestampIntervalAdd().
Decrement the current Value with the given Interval value.
Definition at line 385 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 405 of file Timestamp.hpp.
|
inline |
Indicates if the current Timestamp value is not equal the given Timestamp value.
Definition at line 410 of file Timestamp.hpp.
|
inline |
Indicates if the current Timestamp value is superior to the given Timestamp value.
Definition at line 415 of file Timestamp.hpp.
|
inline |
Indicates if the current Timestamp value is inferior to the given Timestamp value.
Definition at line 420 of file Timestamp.hpp.
|
inline |
Indicates if the current Timestamp value is superior or equal to the given Timestamp value.
Definition at line 425 of file Timestamp.hpp.
|
inline |
Indicates if the current Timestamp value is inferior or equal to the given Timestamp value.
Definition at line 432 of file Timestamp.hpp.