[#BloombergLP-bdlt-Datetime-isValid] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlt.adoc[bdlt]::xref:BloombergLP/bdlt/Datetime.adoc[Datetime]::isValid :relfileprefix: ../../../ :mrdocs: Return `true` if the specified attributes represent a valid `Datetime`. == Synopsis Declared in `<bdlt_datetime.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- static bool isValid( int year, int month, int day, int hour = 0, int minute = 0, int second = 0, int millisecond = 0, int microsecond = 0); ---- == Description Return `true` if the specified `year`, `month`, and `day` attribute values, and the optionally specified `hour`, `minute`, `second`, `millisecond`, and `microsecond` attribute values, represent a valid `Datetime` value, and `false` otherwise. Unspecified trailing optional parameters default to 0. `year`, `month`, `day`, `hour`, `minute`, `second`, `millisecond`, and `microsecond` attribute values represent a valid `Datetime` value if `true == Date::isValidYearMonthDay(year, month, day)`, `0 <= hour < 24`, `0 <= minute < 60`, `0 <= second < 60`, `0 <= millisecond < 1000`, and `0 <= microsecond < 1000`. Additionally, a valid `year`, `month`, `day` with the time portion equal to 24:00:00.000000 also represents a valid `Datetime` value. == Return Value `true` if the attributes form a valid `Datetime` == Parameters [cols="1,4"] |=== | Name| Description | *year* | year attribute | *month* | month attribute | *day* | day‐of‐month attribute | *hour* | hour attribute (default 0) | *minute* | minute attribute (default 0) | *second* | second attribute (default 0) | *millisecond* | millisecond attribute (default 0) | *microsecond* | microsecond attribute (default 0) |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#