# Module XmlRpcDateTime

    module XmlRpcDateTime: sig .. end

Date/time type.

## Types

    exception Parse_error of string

Raised by `XmlRpcDateTime.of_string` if a string could not be parsed. The exception contains the input string.

    type t = int * int * int * int * int * int * int

Type of XmlRpc-compatible date/time values. (year, month, day, hour, minute, second, time zone offset in minutes)

## Comparison

    val compare : t -> t -> int

Standard comparator for date/time values. Converts all values to UTC before comparing to ensure correct behavior with values of differing time zones.

    val equal : t -> t -> bool

Standard equality function for date/time values. Converts all values to UTC before comparing.

    val hash : t -> int

Standard hash function for date/time values. Converts values to UTC before hashing.

## Current date and time

    val now : unit -> t

Returns the current date and time in the local time zone.

    val now_utc : unit -> t

Returns the current date and time in UTC.

## Time zone adjustments

    val set_tz_offset : int -> t -> t

Adjusts the time zone offset, preserving equality.

    val fix_tz_offset : int -> t -> t

Forces the time zone offset to a different value, ignoring all other fields. Use this to correct the time zone of a date/time value that was received without a time zone offset and is known not to be UTC.

## Conversion

    val from_unixfloat : float -> t

Builds a date/time value from epoch seconds in the local time zone.

    val from_unixfloat_utc : float -> t

Builds a date/time value from epoch seconds in UTC.

    val to_unixfloat : t -> float

Converts a date/time value to epoch seconds in the local time zone.

    val to_unixfloat_utc : t -> float

Converts a date/time value to epoch seconds in UTC.

    val from_unixtm : Unix.tm -> t

Builds a date/time value from a Unix.tm value in the local time zone.

    val from_unixtm_utc : Unix.tm -> t

Builds a date/time value from a Unix.tm value in UTC.

    val to_unixtm : t -> Unix.tm

Converts a date/time value to a Unix.tm value in the local time zone.

    val to_unixtm_utc : t -> Unix.tm

Converts a date/time value to a Unix.tm value in UTC.

## ISO-8601 parsing and generation

    val of_string : string -> t

Parses an (XmlRpc-flavor) ISO-8601 date/time value from a string.

    val to_string : t -> string

Generates an ISO-8601 string from a date/time value.