Elixir v1.3.4 Calendar behaviour View Source
This module defines the responsibilities for working with calendars, dates, times and datetimes in Elixir.
Currently it defines types and the minimal implementation for a calendar behaviour in Elixir. The goal of the Calendar features in Elixir is to provide a base for interoperatibility instead of full-featured datetime API.
For the actual date, time and datetime structures, see Date
,
Time
, NaiveDateTime
and DateTime
.
Note the year, month, day, etc designations are overspecified (i.e. an integer instead of 1..12 for months) because different calendars may have a different number of days per month, months per year and so on.
Link to this section Summary
Types
A calendar implementation
Microseconds with stored precision
From 0 to 60 to account for leap seconds
The time zone standard offset in seconds (not zero in summer times)
The time zone ID according to the IANA tz database (e.g. Europe/Zurich)
The time zone UTC offset in seconds
The time zone abbreviation (e.g. CET or CEST or BST etc.)
Callbacks
Builds a new date from proleptic year, month and day of month
Returns true if the given year is a leap year
Converts the given structure into a string according to the calendar
Link to this section Types
A calendar implementation
Microseconds with stored precision.
The precision represents the number of digits that must be used when representing the microseconds to external format. If the precision is 0, it means microseconds must be skipped.
From 0 to 60 to account for leap seconds
The time zone standard offset in seconds (not zero in summer times)
The time zone ID according to the IANA tz database (e.g. Europe/Zurich)
The time zone UTC offset in seconds
The time zone abbreviation (e.g. CET or CEST or BST etc.)
Link to this section Callbacks
Builds a new date from proleptic year, month and day of month.
Returns true if the given year is a leap year.
A leap year is a year of a longer length than normal. The exact meaning
is up to the calendar. A calendar must return false
if it does not support
the concept of leap years.
to_string(Date.t | NaiveDateTime.t | DateTime.t) :: String.t
Converts the given structure into a string according to the calendar.