This module defines a time representation based on a Date, the time of day and a time zone.
ZonedDateTimes should only be used when reasoning about or displaying
DateTime
s in a user's local time zone. For this reason, the API
surface of ZonedDateTimes
is extremely limited.
ZoneDateTime is the opaque type for all ZonedDateTime values.
Values of this type represent a (TimeZone, DateTime)
pair.
zero : Time.Internal.DateTimeData
zero represents the first millisecond of the first day of the
current era. Use it to build ZonedDateTime
values:
-- 0-01-01T00:00:00+02:00
zonedDateTime (europe_bucharest ()) zero
-- 2016-01-01T00:00:00+02:00
zonedDateTime (europe_bucharest ()) { zero | year = 2016 }
-- 2016-05-29T13:00:00+02:00
zonedDateTime (europe_bucharest ()) { zero | year = 2016, month = 5, day = 29, hour = 13 }
zonedDateTime : TimeZone -> Time.Internal.DateTimeData -> ZonedDateTime
zonedDateTime constructs a ZonedDateTime value given a TimeZone, a date and a time. Invalid values are clamped to the nearest valid date and time.
fromDateTime : TimeZone -> Time.DateTime.DateTime -> ZonedDateTime
fromDateTime constructs a ZonedDateTime value from a TimeZone and a DateTime.
toDateTime : ZonedDateTime -> Time.DateTime.DateTime
toDateTime converts a ZonedDateTime to a UTC DateTime value.
fromPosix : TimeZone -> Time.Posix -> ZonedDateTime
fromPosix converts the elm/time POSIX representation of a UNIX
timestamp into a ZonedDateTime value. This is equivalent to calling
DateTime.fromPosix
and then converting the resulting DateTime
value to a ZonedDateTime
.
toPosix : ZonedDateTime -> Time.Posix
toPosix converts a ZonedDateTime to its UNIX timestamp representation, as an elm/time Posix time.
timeZone : ZonedDateTime -> TimeZone.TimeZone
timeZone returns a ZonedDatetime's TimeZone.
year : ZonedDateTime -> Basics.Int
year returns a ZonedDateTime's year.
month : ZonedDateTime -> Basics.Int
month returns a ZonedDateTime's month.
day : ZonedDateTime -> Basics.Int
day returns a ZonedDateTime's day.
weekday : ZonedDateTime -> Time.Date.Weekday
weekday returns a ZonedDateTime's day of the week.
hour : ZonedDateTime -> Basics.Int
hour returns a ZonedDateTime's hour.
minute : ZonedDateTime -> Basics.Int
minute returns a ZonedDateTime's minute.
second : ZonedDateTime -> Basics.Int
second returns a ZonedDateTime's second.
millisecond : ZonedDateTime -> Basics.Int
millisecond returns a ZonedDateTime's millisecond.
abbreviation : ZonedDateTime -> String
abbreviation returns a ZonedDateTime's abbreviation at that time.
utcOffset : ZonedDateTime -> Basics.Int
utcOffset returns a ZonedDateTime's offset from UTC in milliseconds at that time.
utcOffsetString : ZonedDateTime -> String
utcOffsetString returns a ZonedDateTime's UTC offset at that time as a string.
asTimeZone : TimeZone -> ZonedDateTime -> ZonedDateTime
asTimeZone converts a ZonedDateTime to another TimeZone.
setDate : Time.Date.Date -> ZonedDateTime -> ZonedDateTime
setDate sets a ZonedDateTime's date.
setYear : Basics.Int -> ZonedDateTime -> ZonedDateTime
setYear sets a ZonedDateTime's year.
setMonth : Basics.Int -> ZonedDateTime -> ZonedDateTime
setMonth sets a ZonedDateTime's month.
setDay : Basics.Int -> ZonedDateTime -> ZonedDateTime
setDay sets a ZonedDateTime's day.
setHour : Basics.Int -> ZonedDateTime -> ZonedDateTime
setHour sets a ZonedDateTime's hour.
setMinute : Basics.Int -> ZonedDateTime -> ZonedDateTime
setMinute sets a ZonedDateTime's minute.
setSecond : Basics.Int -> ZonedDateTime -> ZonedDateTime
setSecond sets a ZonedDateTime's second.
setMillisecond : Basics.Int -> ZonedDateTime -> ZonedDateTime
setMillisecond sets a ZonedDateTime's millisecond.
addYears : Basics.Int -> ZonedDateTime -> ZonedDateTime
addYears adds a relative number of years to a ZonedDateTime value.
addMonths : Basics.Int -> ZonedDateTime -> ZonedDateTime
addMonths adds a relative number of months to a ZonedDateTime value.
addDays : Basics.Int -> ZonedDateTime -> ZonedDateTime
addDays adds an absolute number of days to a ZonedDateTime value.
addHours : Basics.Int -> ZonedDateTime -> ZonedDateTime
addHours adds a relative number of hours to a ZonedDateTime value.
addMinutes : Basics.Int -> ZonedDateTime -> ZonedDateTime
addMinutes adds a relative number of minutes to a ZonedDateTime value.
addSeconds : Basics.Int -> ZonedDateTime -> ZonedDateTime
addSeconds adds a relative number of seconds to a ZonedDateTime value.
addMilliseconds : Basics.Int -> ZonedDateTime -> ZonedDateTime
addMilliseconds adds an absolute number of milliseconds to a ZonedDateTime value.