2016-07-31 26 views
1

Ich habe auf Ecto.DateTime gesucht, aber leider nichts nützliches gefunden. Gibt es eine Möglichkeit, den letzten Tag des Monats zu bekommen? Gibt es sowas wie DaysInMonth für Elixier?

Ich habe eine Abfrage, wo ich Bestellungen von psql, von gestern (31. Juli) bis heute (1. August), mit heute verwende ich nur 1, aber für den gestrigen Tag kann es 31, 30, 29 oder 28 sein gibt es eine Möglichkeit zu wissen, wie viele Tage im Vormonat sind?

Vielen Dank im Voraus, und jede Empfehlung geschätzt!

+0

Also ist Ihr ultimatives Ziel, das Datum von gestern zu finden? –

+1

Im Allgemeinen ist es oft ratsam, die Erlang OTP-Dokumente auch für diese Art von Fragen zu überprüfen. Es gibt eine Menge guter Dinge, die bereits in der Bibliothek enthalten sind, die Elixir nicht kopiert. –

Antwort

3

Es gibt :calendar.last_day_of_the_month/2, die ein Jahr und einen Monat als Argumente akzeptiert.

iex(1)> :calendar.last_day_of_the_month(2000, 2) 
29 
iex(2)> :calendar.last_day_of_the_month(2001, 2) 
28 

last_day_of_the_month (Jahr, Monat) -> lastday

Arten:

Year = year() 
Month = month() 
LastDay = ldom() 

Berechnet die Anzahl der Tage in einem Monat.

+0

Wow! Danke vielmals! Ich werde es jetzt versuchen. – Ilya