Cldr.Calendar.plus
You're seeing just the function
plus, go back to Cldr.Calendar module for more information.
Specs
plus(integer(), integer()) :: integer()
plus(Calendar.date(), Cldr.Calendar.Duration.t()) :: Calendar.date()
Adds a duration to a date
Arguments
dateis any map that conforms toCalendar.date()durationis any duration returned byCldr.Calendar.Duration.new!/2optionsis a Keyword list of options
Options
- Options are those applicatable to
Cldr.Calendar.plus/4
Returns
- A
dateadvanced by the duration
Examples
iex> Cldr.Calendar.plus ~D[2020-01-01],
...> Cldr.Calendar.Duration.new!(~D[2020-01-01], ~D[2020-02-01])
~D[2020-02-01]
iex> Cldr.Calendar.plus ~D[2020-01-01],
...> Cldr.Calendar.Duration.new!(~D[2020-01-01], ~D[2020-01-02])
~D[2020-01-02]
iex> Cldr.Calendar.plus ~D[2020-01-01],
...> Cldr.Calendar.Duration.new!(~D[2020-01-01], ~D[2020-02-01])
~D[2020-02-01]
iex> Cldr.Calendar.plus ~D[2020-01-01],
...> Cldr.Calendar.Duration.new!(~D[2020-01-01], ~D[2021-02-01])
~D[2021-02-01]
Specs
plus(Calendar.date() | Date.Range.t(), atom(), integer(), Keyword.t()) :: Calendar.date()
Increments a date or date range by an integer amount of a date period (year, quarter, month, week or day).
Arguments
date_or_date_rangeis anyDate.torDate.Range.tperiodis:year,:quarter,:month,:weekor:dayoptionsis a Keyword list of options
Options
:coerceis a boolean which, when set totruewill coerce the month and/or day to be a valid date. This affects,for example, moving to the previous month from~D[2019-03-31]. Sincce there is no date~D[2019-02-31]this would normally return{:error, :invalid_date}. Settingcoerce: trueit will return~D[2019-02-28].
Returns
When a Date.t is passed, a Date.t is
returned. When a Date.Range.t is passed
a Date.Range.t is returned.
Examples
iex> Cldr.Calendar.plus ~D[2016-02-29], :days, 1
~D[2016-03-01]
iex> Cldr.Calendar.plus ~D[2019-03-01], :months, 1
~D[2019-04-01]
iex> Cldr.Calendar.plus ~D[2016-02-29], :days, 1
~D[2016-03-01]
iex> Cldr.Calendar.plus ~D[2019-02-28], :days, 1
~D[2019-03-01]
iex> Cldr.Calendar.plus ~D[2019-03-01], :months, 1
~D[2019-04-01]
iex> Cldr.Calendar.plus ~D[2019-03-01], :quarters, 1
~D[2019-06-01]
iex> Cldr.Calendar.plus ~D[2019-03-01], :years, 1
~D[2020-03-01]