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, [ {applications,[kernel,stdlib]},
kernel,
stdlib
]},
{env,[{tzdata_dir,"priv/tzdata"}]}, {env,[{tzdata_dir,"priv/tzdata"}]},
{maintainers, ["Manuel Rubio"]},
{licenses,["Public Domain"]}, {licenses,["Public Domain"]},
{links, [ {links,[{"Github","https://github.com/altenwald/ezic"}]},
{"Github", "https://github.com/altenwald/ezic"} {exclude_files,["priv"]},
]}, {include_files,["Makefile"]}]}.
{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.