8#ifndef INCLUDED_BDLT_DATETIMEUTIL
9#define INCLUDED_BDLT_DATETIMEUTIL
220#include <bdlscm_version.h>
227#include <bsl_ctime.h>
228#include <bsl_optional.h>
281 int microsecond = 0);
294 const bsl::tm& timeStruct)
298 bool isLeapSecond =
false;
299 int seconds = timeStruct.tm_sec;
309 timeStruct.tm_mon + 1,
315 if (isLeapSecond && !rc) {
331 bsl::tm result = bsl::tm();
333 result.tm_sec = datetime.
second();
334 result.tm_min = datetime.
minute();
335 const int hour = datetime.
hour();
340 result.tm_hour = hour;
342 result.tm_mday = datetime.
day();
343 result.tm_mon = datetime.
month() - 1;
344 result.tm_year = datetime.
year() - 1900;
347 result.tm_isdst = -1;
int dayOfYear() const
Return the day of the year in the range [1 .. 366] of this date.
Definition bdlt_date.h:968
DayOfWeek::Enum dayOfWeek() const
Definition bdlt_date.h:961
Definition bdlt_datetime.h:330
Date date() const
Return the value of the "date" part of this object.
Definition bdlt_datetime.h:2234
int year() const
Return the value of the year attribute of this object.
Definition bdlt_datetime.h:2359
int hour() const
Return the value of the hour attribute of this object.
Definition bdlt_datetime.h:2293
int minute() const
Return the value of the minute attribute of this object.
Definition bdlt_datetime.h:2319
int setDatetimeIfValid(int year, int month, int day, int hour=0, int minute=0, int second=0, int millisecond=0, int microsecond=0)
Definition bdlt_datetime.h:1502
static bool isValid(int year, int month, int day, int hour=0, int minute=0, int second=0, int millisecond=0, int microsecond=0)
Definition bdlt_datetime.h:1264
Datetime & addSeconds(bsls::Types::Int64 seconds)
Definition bdlt_datetime.h:2094
int second() const
Return the value of the second attribute of this object.
Definition bdlt_datetime.h:2335
int month() const
Return the value of the month attribute of this object.
Definition bdlt_datetime.h:2329
int day() const
Definition bdlt_datetime.h:2242
Definition bslstl_optional.h:2043
#define BSLS_ASSERT(X)
Definition bsls_assert.h:1976
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition bbldc_basicisma30360.h:112
const in_place_t in_place
Definition bdlt_datetimeutil.h:241
static int convertFromTm(Datetime *result, const bsl::tm &timeStruct)
Definition bdlt_datetimeutil.h:293
static bsl::optional< Datetime > fromYmdHms(int year, int month, int day, int hour, int minute, int second, int millisecond=0, int microsecond=0)
Definition bdlt_datetimeutil.h:361
static bsl::tm convertToTm(const Datetime &datetime)
Definition bdlt_datetimeutil.h:325