Ecto v1.1.0 Ecto.DateTime

An Ecto type that includes a date and a time.

Summary

Functions

Casts the given value to datetime

Same as cast/1 but raises on invalid datetimes

Compare two datetimes

Converts an Ecto.DateTime into a {date, time} tuple

Converts the given Ecto.Date into Ecto.DateTime with the time being 00:00:00

Returns an Ecto.DateTime from an Erlang datetime tuple

Converts a {date, time} tuple into an Ecto.DateTime

Returns an Ecto.DateTime in local time

Returns an Erlang datetime tuple from an Ecto.DateTime

Converts Ecto.DateTime to its ISO 8601 UTC representation if the Ecto.DateTime is UTC

Converts Ecto.DateTime to its string representation

The Ecto primitive type

Functions

cast(dt)

Casts the given value to datetime.

It supports:

  • a binary in the “YYYY-MM-DD HH:MM:DD” format (may be separated by T and/or followed by “Z”, as in 2014-04-17T14:00:00Z)
  • a binary in the “YYYY-MM-DD HH:MM:DD.USEC” format (may be separated by T and/or followed by “Z”, as in 2014-04-17T14:00:00.030Z)
  • a map with "year", "month","day", "hour", "min" keys with "sec" and "usec" as optional keys and values are integers or binaries
  • a map with :year, :month,:day, :hour, :min keys with :sec and :usec as optional keys and values are integers or binaries
  • a tuple with {{year, month, day}, {hour, min, sec}} as integers or binaries
  • a tuple with {{year, month, day}, {hour, min, sec, usec}} as integers or binaries
  • an Ecto.DateTime struct itself
cast!(value)

Same as cast/1 but raises on invalid datetimes.

compare(t1, t2)

Compare two datetimes.

Receives two datetimes and compares the t1 against t2 and returns :lt, :eq or :gt.

dump(arg1)

Converts an Ecto.DateTime into a {date, time} tuple.

from_date(date)

Converts the given Ecto.Date into Ecto.DateTime with the time being 00:00:00.

from_date_and_time(date, time)

Converts the given Ecto.Date and Ecto.Time into Ecto.DateTime.

from_erl(arg)

Returns an Ecto.DateTime from an Erlang datetime tuple.

load(datetime)

Converts a {date, time} tuple into an Ecto.DateTime.

local()

Returns an Ecto.DateTime in local time.

WARNING: Using the local time of the server will often lead to intermittent bugs.

This function only exists for legacy purposes. It is recommended to not use this function. Please use the utc/1 function instead.

to_date(date_time)

Converts Ecto.DateTime into an Ecto.Date.

to_erl(date_time)

Returns an Erlang datetime tuple from an Ecto.DateTime.

to_iso8601(date_time)

Converts Ecto.DateTime to its ISO 8601 UTC representation if the Ecto.DateTime is UTC.

WARNING: This will produce an incorrect result unless the datetime is UTC! Make sure that the datetime is UTC. inserted_at and updated_at fields populated by the Ecto timestamps feature are UTC. But other Ecto.DateTime fields are not always UTC.

to_string(date_time)

Converts Ecto.DateTime to its string representation.

to_time(date_time)

Converts Ecto.DateTime into an Ecto.Time.

type()

The Ecto primitive type.

utc(precision \\ :sec)

Returns an Ecto.DateTime in UTC.

precision can be :sec or :usec.