22 #include <util/Converter.h> 24 #include <OnixS/Core/Time/Definitions.h> 25 #include <OnixS/Core/Time/Service.h> 37 Timestamp::Timestamp()
39 *
this = TimeManager::convert(
40 OnixS::Time::DateTime::epoch());
44 unsigned int year,
Month::Enum month,
unsigned int day,
45 unsigned int hour,
unsigned int minute,
unsigned int second,
46 unsigned int nanosecond) :
52 static_cast<OnixS::Time::Month>(month),
57 OnixS::Time::NanosecondSubsecond(nanosecond)
84 OnixS::Time::YearMonthDay impl;
146 OnixS::Time::YYYYMMDDFormatter()(dateTime, str);
150 OnixS::Time::YYYYMMDDHHMMSSFormatter()(dateTime, str);
154 OnixS::Time::YYYYMMDDHHMMSSmsecFormatter()(dateTime, str);
158 OnixS::Time::YYYYMMDDHHMMSSnsecFormatter()(dateTime, str);
167 OnixS::Time::Accurate::utcNow());
174 OnixS::Time::Accurate::now());
179 const std::string &str,
182 bool succeeded =
false;
190 OnixS::Time::YYYYMMDDFormatter()(
191 str.data(), str.size(), dateTime);
198 OnixS::Time::YYYYMMDDHHMMSSFormatter()(
199 str.data(), str.size(), dateTime);
206 OnixS::Time::YYYYMMDDHHMMSSmsecFormatter()(
207 str.data(), str.size(), dateTime);
214 OnixS::Time::YYYYMMDDHHMMSSnsecFormatter()(
215 str.data(), str.size(), dateTime);
223 std::string exceptionReason;
225 exceptionReason +=
"Cannot parse timestamp [str=";
226 exceptionReason += str;
227 exceptionReason +=
"]. ";
229 throw OnixS::DomainException(exceptionReason);
234 unsigned long long numericPresentation,
241 const unsigned int day =
static_cast<unsigned int>((numericPresentation) % 100);
245 const unsigned int year =
static_cast<unsigned int>(numericPresentation / 100);
257 std::string exceptionReason;
259 exceptionReason +=
"Cannot parse timestamp [str=";
260 exceptionReason += i2str(numericPresentation);
261 exceptionReason +=
"]. ";
263 throw OnixS::DomainException(exceptionReason);
276 return static_cast<unsigned int>(sinceEpoch_.
milliseconds());
283 return static_cast<unsigned int>(sinceEpoch_.
microseconds());
290 return static_cast<unsigned int>(sinceEpoch_.
nanoseconds());
void date(YearMonthDay &) const
Returns date part of timestamp.
bool operator<(const Timestamp &) const
Tests whether instance is less than another one.
bool operator!=(const Timestamp &) const
Compares instance with another one.
bool operator==(const Timestamp &) const
Compares instance with another one.
unsigned int second() const
Timestamp()
Initializes as Jan 1, 0001, 00:00:00.
unsigned year() const
Year component of timestamp.
std::string toString(TimestampFormat::Enum=TimestampFormat::YYYYMMDDHHMMSSNsec) const
static Timestamp parse(const std::string &, TimestampFormat::Enum=TimestampFormat::YYYYMMDDHHMMSSNsec)
Month::Enum month() const
Month component of timestamp.
#define ONIXS_SGXTITAN_OUCH_NAMESPACE_BEGIN
unsigned int nanosecond() const
Represents timestamp without time-zone information.
unsigned int hour() const
Enum
Defines all the months in the year.
static Timestamp utcNow()
unsigned int millisecond() const
unsigned int microsecond() const
static Timestamp epoch()
Epoch.
unsigned int minute() const
static Timestamp convert(const OnixS::Time::DateTime &time)