init commit
This commit is contained in:
+161
@@ -0,0 +1,161 @@
|
||||
(ns Date
|
||||
"Elixir Date module — calendar date operations.
|
||||
|
||||
In CljElixir: (Date/utc-today), (Date/new 2024 3 9), etc.")
|
||||
|
||||
(defn utc-today
|
||||
"Returns today's date in UTC.
|
||||
(Date/utc-today) ;=> ~D[2024-03-09]"
|
||||
([])
|
||||
([calendar]))
|
||||
|
||||
(defn new
|
||||
"Creates a new date.
|
||||
(Date/new 2024 3 9) ;=> {:ok ~D[2024-03-09]}"
|
||||
([year month day])
|
||||
([year month day calendar]))
|
||||
|
||||
(defn new!
|
||||
"Creates a new date. Raises on error.
|
||||
(Date/new! 2024 3 9) ;=> ~D[2024-03-09]"
|
||||
([year month day])
|
||||
([year month day calendar]))
|
||||
|
||||
(defn from-iso8601
|
||||
"Parses ISO 8601 date. Returns {:ok date} or {:error reason}.
|
||||
(Date/from-iso8601 \"2024-03-09\") ;=> {:ok ~D[2024-03-09]}"
|
||||
([string])
|
||||
([string calendar]))
|
||||
|
||||
(defn from-iso8601!
|
||||
"Parses ISO 8601. Raises on error."
|
||||
([string])
|
||||
([string calendar]))
|
||||
|
||||
(defn to-iso8601
|
||||
"Converts to ISO 8601 string.
|
||||
(Date/to-iso8601 date) ;=> \"2024-03-09\""
|
||||
([date])
|
||||
([date format]))
|
||||
|
||||
(defn to-string
|
||||
"Converts to string.
|
||||
(Date/to-string date) ;=> \"2024-03-09\""
|
||||
[date])
|
||||
|
||||
(defn add
|
||||
"Adds days to a date.
|
||||
(Date/add date 7) ;=> one week later
|
||||
(Date/add date 1 :month)"
|
||||
([date days])
|
||||
([date amount unit]))
|
||||
|
||||
(defn diff
|
||||
"Returns the difference in days between two dates.
|
||||
(Date/diff date1 date2) ;=> 7"
|
||||
[date1 date2])
|
||||
|
||||
(defn day-of-week
|
||||
"Returns the day of the week (1=Monday, 7=Sunday).
|
||||
(Date/day-of-week date) ;=> 6 (Saturday)"
|
||||
([date])
|
||||
([date starting-on]))
|
||||
|
||||
(defn day-of-year
|
||||
"Returns the day of the year (1-366).
|
||||
(Date/day-of-year date) ;=> 69"
|
||||
[date])
|
||||
|
||||
(defn day-of-era
|
||||
"Returns the day of the era and era number."
|
||||
[date])
|
||||
|
||||
(defn days-in-month
|
||||
"Returns the number of days in the month.
|
||||
(Date/days-in-month date) ;=> 31"
|
||||
[date])
|
||||
|
||||
(defn months-in-year
|
||||
"Returns the number of months in the year."
|
||||
[date])
|
||||
|
||||
(defn quarter-of-year
|
||||
"Returns the quarter (1-4).
|
||||
(Date/quarter-of-year date) ;=> 1"
|
||||
[date])
|
||||
|
||||
(defn year-of-era
|
||||
"Returns the year of the era."
|
||||
[date])
|
||||
|
||||
(defn leap-year?
|
||||
"Returns true if the date's year is a leap year.
|
||||
(Date/leap-year? date) ;=> true"
|
||||
[date])
|
||||
|
||||
(defn beginning-of-month
|
||||
"Returns the first day of the month.
|
||||
(Date/beginning-of-month date)"
|
||||
[date])
|
||||
|
||||
(defn end-of-month
|
||||
"Returns the last day of the month.
|
||||
(Date/end-of-month date)"
|
||||
[date])
|
||||
|
||||
(defn beginning-of-week
|
||||
"Returns the first day of the week."
|
||||
([date])
|
||||
([date starting-on]))
|
||||
|
||||
(defn end-of-week
|
||||
"Returns the last day of the week."
|
||||
([date])
|
||||
([date starting-on]))
|
||||
|
||||
(defn range
|
||||
"Creates a date range.
|
||||
(Date/range date1 date2) ;=> %Date.Range{}"
|
||||
([first last])
|
||||
([first last step]))
|
||||
|
||||
(defn compare
|
||||
"Compares two dates. Returns :lt, :eq, or :gt."
|
||||
[date1 date2])
|
||||
|
||||
(defn before?
|
||||
"Returns true if `date1` is before `date2`."
|
||||
[date1 date2])
|
||||
|
||||
(defn after?
|
||||
"Returns true if `date1` is after `date2`."
|
||||
[date1 date2])
|
||||
|
||||
(defn shift
|
||||
"Shifts date by a duration.
|
||||
(Date/shift date :month 1 :day -3)"
|
||||
[date duration])
|
||||
|
||||
(defn convert
|
||||
"Converts a date to a different calendar."
|
||||
([date calendar]))
|
||||
|
||||
(defn convert!
|
||||
"Converts to a different calendar. Raises on error."
|
||||
([date calendar]))
|
||||
|
||||
(defn from-erl
|
||||
"Converts Erlang date tuple to Date.
|
||||
(Date/from-erl {2024 3 9}) ;=> {:ok ~D[2024-03-09]}"
|
||||
([tuple])
|
||||
([tuple calendar]))
|
||||
|
||||
(defn from-erl!
|
||||
"Converts Erlang date tuple. Raises on error."
|
||||
([tuple])
|
||||
([tuple calendar]))
|
||||
|
||||
(defn to-erl
|
||||
"Converts Date to Erlang date tuple.
|
||||
(Date/to-erl date) ;=> {2024 3 9}"
|
||||
[date])
|
||||
Reference in New Issue
Block a user