ensure next day is calculated even if it means to go to the next/previous month

This commit is contained in:
Manuel Rubio
2019-07-11 15:11:05 +02:00
parent f63df8e7a4
commit efa43dc02e
2 changed files with 22 additions and 20 deletions

View File

@@ -1,18 +1,10 @@
{application, ezic, {application,ezic,
[ [{registered,[]},
{registered, []}, {vsn,"0.2.1"},
{vsn, "0.2.0"}, {description,"A set of Erlang utilities for the Olson timezone database files"},
{description, "A set of Erlang utilities for the Olson timezone database files"}, {applications,[kernel,stdlib]},
{applications, [ {env,[{tzdata_dir,"priv/tzdata"}]},
kernel, {licenses,["Public Domain"]},
stdlib {links,[{"Github","https://github.com/altenwald/ezic"}]},
]}, {exclude_files,["priv"]},
{env, [{tzdata_dir, "priv/tzdata"}]}, {include_files,["Makefile"]}]}.
{maintainers, ["Manuel Rubio"]},
{licenses, ["Public Domain"]},
{links, [
{"Github", "https://github.com/altenwald/ezic"}
]},
{exclude_files, []},
{include_files, ["Makefile"]}
]}.

View File

@@ -281,9 +281,19 @@ last_day_of(Day, Y,M) ->
% returns a date tuple {Y,M,D} representing the first available date, given the filter % returns a date tuple {Y,M,D} representing the first available date, given the filter
% same for all timezones % same for all timezones
first_day_limited(Day, {geq, N}, Y,M) -> first_day_limited(Day, {geq, N}, Y,M) ->
next_day(Day, {Y,M,N}); try
next_day(Day, {Y,M,N})
catch
error:no_next_day ->
next_day(Day, {Y,M+1,1})
end;
first_day_limited(Day, {leq, N}, Y,M) -> first_day_limited(Day, {leq, N}, Y,M) ->
previous_day(Day, {Y,M,N}). try
previous_day(Day, {Y,M,N})
catch
error:no_previous_day ->
previous_day(Day, {Y, M-1, calendar:last_day_of_the_month(Y, M-1)})
end.