# Types

**Seconds**decimal

Holds the seconds as a decimal value.

**Utc**readonly & [int, decimal]

Point on UTC time-scale. This is represented by a tuple of length 2. The tuple is an ordered type and so the values can be compared using the Ballerina <, <=, >, >= operators. The first member of the tuple is int representing an integral number of seconds from the epoch. Epoch is the traditional UNIX epoch of 1970-01-01T00:00:00Z. The second member of the tuple is a decimal giving the fraction of a second. For times before the epoch, n is negative and f is non-negative. In other words, the UTC time represented is on or after the second specified by n. Leap seconds are handled as follows. The first member of the tuple ignores leap seconds: it assumes that every day has 86400 seconds. The second member of the tuple is >= 0. and is < 1 except during positive leaps seconds in which it is >= 1 and < 2. So given a tuple [n,f] after the epoch, n / 86400 gives the day number, and (n % 86400) + f gives the time in seconds since midnight UTC (for which the limit is 86401 on day with a positive leap second).

**UtcZoneHandling**"0" | "GMT" | "UT" | "Z"

Defualt zone value represation in different formats.

**ZERO_OR_ONE**0 | 1

Represents the type that can be either zero or one.