Main Page | Modules | Compound List | File List | Compound Members | File Members

# XMP_DateTime Struct Reference

The expanded type for a date and time. Dates and time in the serialized XMP are ISO 8601 strings. The `XMP_DateTime` struct allows easy conversion with other formats. More...

`#include <XMP_Const.h>`

List of all members.

## Detailed Description

The expanded type for a date and time. Dates and time in the serialized XMP are ISO 8601 strings. The `XMP_DateTime` struct allows easy conversion with other formats.

All of the fields are 32 bit, even though most could be 8 bit. This avoids overflow when doing carries for arithmetic or normalization. All fields have signed values for the same reasons.

The fields of the `XMP_DateTime` struct are:

- year- The year, can be negative.
- month - The month in the range 1..12.
- day - The day of the month in the range 1..31.
- hour - The hour in the range 0..23.
- minute - The minute in the range 0..59.
- second - The second in the range 0..59.
- tzSign - The "sign" of the time zone, 0 means UTC, -1 is west, +1 is east.
- tzHour - The time zone hour in the range 0..23.
- tzMinute - The time zone minute in the range 0..59.
- nanoSecond - Nanoseconds within a second, often left as zero.

Constants for the `tzSign` are:

- `kXMP_TimeIsUTC` - The time is UTC.
- `kXMP_TimeWestOfUTC` - The time zone is west of UTC, behind in time.
- `kXMP_TimeEastOfUTC` - The time zone is east of UTC, ahead in time.

DateTime values are occasionally used in cases with only a date or only a time component. A date without a time has zeros in the `XMP_DateTime` struct for all time fields. A time without a date has zeros for all date fields (year, month, and day).

The documentation for this struct was generated from the following file:

- XMP_Const.h