isaacseymour / deprecated-time / Time.ZonedDateTime

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 DateTimes in a user's local time zone. For this reason, the API surface of ZonedDateTimes is extremely limited.

ZonedDateTimes


type ZonedDateTime

ZoneDateTime is the opaque type for all ZonedDateTime values. Values of this type represent a (TimeZone, DateTime) pair.

Constructing ZonedDateTimes

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.

Inspecting ZonedDateTimes

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.

Manipulating ZonedDateTimes

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.