antikythera v0.3.0 Antikythera.Time View Source
Data structure to represent date and time in milli-seconds resolution.
Note that all values of Antikythera.Time.t are in UTC.
Poison.Encoder protocol is implemented for Antikythera.Time.t,
so that values of this type can be directly converted to Antikythera.IsoTimestamp.t on Poison.encode/1.
iex> Poison.encode(%{time: {Antikythera.Time, {2017, 1, 1}, {0, 0, 0}, 0}})
{:ok, "{"time":"2017-01-01T00:00:00.000+00:00"}"}
See also new/1.
Link to this section Summary
Functions
Parses HTTP-date formats into Antikythera.Time.t.
Convert timestamps into Antikythera.Time.t, leveraging recursive_new? option of Croma.Struct.
Returns date/time in IMF-fixdate format.
Link to this section Types
t()
View Sourcet() :: {Antikythera.Time, :calendar.date(), :calendar.time(), milliseconds()}
Link to this section Functions
from_epoch_milliseconds(milliseconds)
View Sourcefrom_epoch_milliseconds(Antikythera.MilliSecondsInGregorian.t()) :: t()
from_http_date(s)
View Sourcefrom_http_date(String.t()) :: Croma.Result.t(t())
Parses HTTP-date formats into Antikythera.Time.t.
Supports IMF-fixdate format, RFC 850 format and ANSI C's asctime() format for compatibility.
Note: An HTTP-date value must represents time in UTC(GMT). Thus timezone string in the end must always be 'GMT'. Any other timezone string (such as 'JST') will actually be ignored and parsed as GMT.
https://tools.ietf.org/html/rfc7231#section-7.1.1.1
from_iso_basic(s)
View Sourcefrom_iso_basic(String.t()) :: Croma.Result.t(t())
from_iso_timestamp(s)
View Sourcefrom_iso_timestamp(String.t()) :: Croma.Result.t(t())
Convert timestamps into Antikythera.Time.t, leveraging recursive_new? option of Croma.Struct.
Only Antikythera.IsoTimestamp.t can be converted.
to_http_date(arg0)
View Sourceto_http_date(t()) :: Antikythera.ImfFixdate.t()
Returns date/time in IMF-fixdate format.
The format is subset of Internet Message Format (RFC5322, formarly RFC822, RFC1123). Defined as 'preferred' format in RFC7231 and modern web servers or clients should send in this format.
https://tools.ietf.org/html/rfc7231#section-7.1.1.1
to_iso_basic(arg0)
View Sourceto_iso_basic(t()) :: Antikythera.IsoTimestamp.Basic.t()
to_iso_timestamp(arg0)
View Sourceto_iso_timestamp(t()) :: Antikythera.IsoTimestamp.t()